我有一段代码试图使用 FileInputStream 从 XML 文件创建 SOAP 消息,就像这样..
SOAPMessage message = MessageFactory.newInstance().createMessage(null, stream);
这在我们的 WebSphere (v9) 开发环境上运行良好,但是当我尝试在我们的登台环境上运行它时,我收到以下错误。
javax.xml.soap.SOAPException: Unable to create message factory for SOAP: Provider com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl not found at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:127) ~[?:1.8.0-internal]
有什么可以解释两种环境中行为的差异吗?WebSphere 和 Java 版本 (1.8.0) 是相同的。
我也检查了是否有任何共享库被添加到开发环境中,但到目前为止还没有发现。
还有其他地方我应该检查类加载是否有区别吗?
我尝试手动将 saaj-impl (1.4) 添加到已安装应用程序的 WEB-INF/lib 文件夹中,但它随后为类 'org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter' 引发了 NoClassDefFoundError 错误