作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的项目在 tomcat 服务器上运行良好,现在我正在尝试在 WebSphere Liberty Profile(WLP) 上运行项目,但它给我以下 stax 实现错误
javax.xml.stream.XMLStreamException: The namespace URI "http://www.example.com/ns1" has not bound to a prefix.
at com.ibm.xml.xlxp.api.stax.msg.StAXMessageProvider.throwXMLStreamException(StAXMessageProvider.java:59)
at com.ibm.xml.xlxp.api.stax.XMLStreamWriterBase.writeAttribute(XMLStreamWriterBase.java:464)
at com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl$XMLStreamWriterProxy.writeAttribute(XMLOutputFactoryImpl.java:157)
at org.apache.olingo.odata2.core.ep.producer.XmlMetadataProducer.writeAnnotationAttributes(XmlMetadataProducer.java:599)
at org.apache.olingo.odata2.core.ep.producer.XmlMetadataProducer.writeMetadata(XmlMetadataProducer.java:134)
我已经在 WLP 中将类加载器策略设置为父级最后。如何在IBM jre中实现stax
最佳答案
IBM JRE 确实包含 STAX,它是 Java SE 的一部分。
writeAttribute 的 Javadoc建议如果您使用尚未绑定(bind)到前缀的 namespace 编写属性,则预计会出现此异常。如果没有关于您打算编写的文档的更多信息,我无法确认是否属于这种情况。
如果是这种情况,您要么需要修复您正在编写的文档,以便它在您使用命名空间之前为命名空间设置前缀,要么设置 javax.xml.stream.isRepairingNamespaces
您的输出工厂的属性为 true
在创建 XMLStreamWriter 之前。
按照 Javadoc 中的示例:
xmlOutputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true));
我不知道为什么这适用于 tomcat 而不是 liberty。有关 IBM 的 STAX 实现的更多信息,请参阅 Knowledge Center .
关于java - XMLStreamException : The namespace URI has not been bound to a prefix, IBM jre,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38970894/
我是一名优秀的程序员,十分优秀!