【问题标题】:FOMUnsupportedTextTypeException - Remove type="Text/Html" attribute from Atom feedFOMUnsupportedTextTypeException - 从 Atom 提要中删除 type="Text/Html" 属性
【发布时间】:2013-03-25 22:38:22
【问题描述】:

我无法从已解析的 Atom Feed 中获取条目。我正在从 Web 服务获取这些提要。事情是代码在我的本地服务器上工作得非常好,但是当我将它部署在我的开发盒上时,我得到了FOMUnsupportedTextTypeException 异常。 当我检查生成的 Atom 提要的差异时,我发现提要 xml 几乎没有变化。 以下是我的local 供稿

<atom:entry>
<atom:id>e0f7f5e7-a5f3-4a2e-a87d-d8def2b6bc2c</atom:id>
<atom:title">Locations</atom:title>
<atom:author>
<atom:uri>uid=wpsadmin,o=defaultWIMFileBasedRealm</atom:uri>
<atom:name>wpsadmin</atom:name>
</atom:author>

这里是我的dev 框生成的 xml。

<atom:entry>
<atom:id>e0f7f5e7-a5f3-4a2e-a87d-d8def2b6bc2c</atom:id>
<atom:title type="text/html">Locations</atom:title>
<atom:author>
<atom:uri>uid=wpsadmin,o=defaultWIMFileBasedRealm</atom:uri>
<atom:name>wpsadmin</atom:name>
</atom:author>

唯一的区别是type="text/html"in atom:title

我正在使用 abdera 解析器来解析 atom 并在本地和开发中使用 IBM Portal 8。

我在这段代码中遇到错误

Document<Feed> doc = response.getDocument();   
Feed feed = (Feed) doc.getRoot();   
for (Entry entry : feed.getEntries()) {  //exception at this line

例外是FOMUnsupportedTextTypeException

这里是完整的异常细节

[3/28/13 8:15:22:630 CDT] 0000041f servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [/jsp/html/searchWCM.jsp] in application [APA_SearchWCM]. Exception created : [org.apache.abdera.parser.stax.FOMUnsupportedTextTypeException: Unsupported Text Type: text/html
    at org.apache.abdera.parser.stax.FOMBuilder.getTextType(FOMBuilder.java:66)
    at org.apache.abdera.parser.stax.FOMFactory.createElement(FOMFactory.java:558)
    at org.apache.abdera.parser.stax.FOMBuilder.constructNode(FOMBuilder.java:108)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.createOMElement(StAXOMBuilder.java:430)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.createNextOMElement(StAXOMBuilder.java:298)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:223)
    at org.apache.abdera.parser.stax.FOMBuilder.next(FOMBuilder.java:93)
    at org.apache.axiom.om.impl.llom.OMContainerHelper.buildNext(OMContainerHelper.java:164)
    at org.apache.axiom.om.impl.llom.OMNodeHelper.getNextOMSibling(OMNodeHelper.java:40)
    at org.apache.axiom.om.impl.llom.OMNodeImpl.getNextOMSibling(OMNodeImpl.java:106)
    at org.apache.axiom.om.impl.traverse.OMChildrenIterator.getNextNode(OMChildrenIterator.java:36)
    at org.apache.axiom.om.impl.traverse.OMAbstractIterator.hasNext(OMAbstractIterator.java:69)
    at org.apache.axiom.om.impl.traverse.OMFilterIterator.hasNext(OMFilterIterator.java:54)
    at org.apache.abdera.parser.stax.util.FOMElementIteratorWrapper.hasNext(FOMElementIteratorWrapper.java:37)
    at org.apache.abdera.parser.stax.util.FOMList.buffer(FOMList.java:62)
    at org.apache.abdera.parser.stax.util.FOMList.get(FOMList.java:71)
    at org.apache.abdera.parser.stax.util.FOMList$BufferIterator.next(FOMList.java:197)
    at org.apache.abdera.parser.stax.FOMFeed.getEntry(FOMFeed.java:208)
    at com.ibm.searchwcm.SearchAndFilter.getSearchResultFromServer(SearchAndFilter.java:279)
    at com.ibm.searchwcm.SearchAndFilter.getSearchResult(SearchAndFilter.java:115)
    at com.ibm._jsp._searchWCM._jspService(_searchWCM.java:204)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:205)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)

谁能告诉我如何从atom:title 中删除type="text/html" 属性?

【问题讨论】:

  • 网络上对FOMUnsupportedTextHtmlType 的唯一引用在您的问题中。能否包含完整的异常名称?
  • 嗨,乔,我已经更新了我的问题。它的FOMUnsupportedTextTypeException

标签: xml-parsing websphere-portal atom-feed lotus-wcm


【解决方案1】:

作为the Atom spec shows,该提要不正确:

Text constructs MAY have a "type" attribute.  When present, the value
MUST be one of "text", "html", or "xhtml".  If the "type" attribute
is not provided, Atom Processors MUST behave as though it were
present with a value of "text".

Abdera 拒绝它是正确的。根据您的问题,Lotus Web Content Manager 似乎正在生成该提要;如果是这样,那是 WCF 中可能已修复的错误。如果这两个盒子产生不同的提要,那么它们可能运行不同的版本。

编辑:从您的other question 我可以看到您的代码正在从azeez:10039/wps/mycontenthandler/ 获取提要。您需要弄清楚为什么您的两个环境会在此处生成不同的提要,而不是尝试修补无效数据。

【讨论】:

  • 谢谢乔,如果有的话我可以通过代码删除该属性。
猜你喜欢
  • 1970-01-01
  • 2020-07-24
  • 2016-02-18
  • 1970-01-01
  • 2021-11-01
  • 2019-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多