使用CXF和Webphere 8.5的JAX WS(org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler与org.apache.cxf.frontend.ClientProxy不兼容)

时间:2018-05-08 21:01:20

标签: java websphere cxf axis2

我在Webphere 6和JDK 1.6中运行了一个应用程序。现在我尝试将其迁移到Whephere Application Server 8.5。我遇到了与用于使用SOAP服务的库相关的问题(我正在使用CXF)。问题是这个版本中的Webphere有自己的库(AXIS2)。我遵循了IBM的推荐 '使用第三方JAX-WS Web服务引擎' - https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.nd.doc/ae/twbs_thirdparty.html- 我的工作对我而言

但是,我发现有人解决了从Websphere中的META-INF AXIS2库中删除文件的问题。 (javax.xml.ws.spi.Provider) ===== IT WORKED ===== 但是现在我有其他派生的问题

org.springframework.web.util.NestedServletException:处理程序处理失败; 嵌套异常是java.lang.NoSuchMethodError

组织/阿帕奇/ WS /公地/模式/ XmlSchemaCollection.read(Lorg / W3C / DOM /文件; Ljava /郎/字符串;)Lorg /阿帕奇/ WS /公地/模式/的XmlSchema; (从文件加载:/ usr / IBM / WebSphere / AppServer / plugins / org.apache.axis2.jar 由org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@41aaaf6e加载) 从类org.apache.cxf.common.xmlschema.SchemaCollection调用( 装 来自file:/usr/IBM/WebSphere/AppServer/profiles/AppServer01/installedApps/CLDC462Cell01/MyApp.ear/myapp.war/WEB-INF/lib/ cxf-core-3.1.5.jar 通过 com.ibm.ws.classloader.CompoundClassLoader@5344aede

1 个答案:

答案 0 :(得分:1)

您的应用程序正在从WebSphere库而不是从您的应用程序中获取一些Apache类,并且WebSphere中的版本与应用程序的CXF版本不兼容。这意味着您需要向应用程序添加包含适当版本​​org.apache.ws.commons.schema.XmlSchemaCollection的jar。我认为你已经在你的网络模块中运行了PARENT_LAST委托,因为你正在使用你自己的网络服务实现,但如果没有,那也是必要的。