3

我只想知道以下问题的输入。

Websphere 8.5.5.2 将附带哪个版本的 AXIS2?

在哪里可以查看 WAS 8.5.5.2 随附的 AXIS2 jar 的版本详细信息?

我的代码实际上是用 AXIS2 1.6.1 编译并在 WAS 8.5.5.2 中部署的。我正在低于类播异常。你有什么建议来解决这个问题。我认为编译和部署时axis2的不同版本存在问题。我不知道 websphere 8.5.5.2 附带了什么版本的axis2。

我使用过的方法。

1) 使用 Axis 的部分代码针对 AXIS2 1.6.1 版本进行编译,生成的 war 部署在 WAS 8.5.5.2 中,WAR 中没有库。得到org.apache.axiom.util.stax.XMLStreamWriterUtils的 classNotFoundException 。添加了位于共享库插件中的 org.apache.axis2.jar 并附加到我的服务器战争模块级别。然后类转换异常来了。

2) 使用 Axis 的部分代码针对 AXIS2 1.6.1 进行编译,生成的 war 部署在WAR 中的 WEB-INF/libraires 下的org.apache.axis2.jar的 WAS 8.5.5.2 中。然后类转换异常来了。

Calling getRendererRef(): renderer Type=[OutInRenderer]
WSRenderer    I   Start: 
WSRenderer    E   Unable to perform rendering due to exception (java.lang.ClassCastException:      org.apache.axiom.util.stax.xop.XOPEncodingStreamWriter incompatible with org.apache.axiom.ext.stax.datahandler.DataHandlerWriter)
WSRenderer    E   stacktrace=org.apache.axiom.util.stax.XMLStreamWriterUtils.internalGetDataHandlerWriter(XMLStreamWriterUtils.java:71)

org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(XMLStreamWriterUtils.java:134)

3) 在 WAS 8.5.5.2 中保留 Parent_LAST 选项用于服务器战争,这会导致大量与解析器和其他相关的错误。由于许多 classcast 和不兼容问题,应用程序停止工作。任何输入都是可观的......

4

1 回答 1

0

WebSphere 运行时中的代码不是基于 Apache Axis2 的正式版本,而是基于从开发版本创建的分支。您在 WebSphere 上使用 Axis2 的唯一选择是配置您的应用程序以加载父类最后一个类。要完成这项工作,您需要从应用程序中删除所有包含必须从服务器运行时加载的 API 的 JAR,例如 servlet API 和各种 XML API。

于 2016-02-06T16:05:38.967 回答