【发布时间】:2017-03-09 00:38:21
【问题描述】:
我在 IBM WebSphere 8.5.5.0 上部署了一个应用程序。 当应用程序尝试调用远程 Web 服务时,我得到了
java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider org.apache.axis2.jaxws.spi.Provider not a subtype.
似乎 WAS 正在选择(可能是捆绑的)Axis2 impl。 JAX-WS Provider 类而不是我想要使用的 CXF。
- 应用 WAR 不附带 Axis2 impl。 javax.xml.ws.spi.Provider的
- 应用 WAR 包含一个 CXF jar,其中包含 Provider impl.org.apache.cxf.jaxws.spi.ProviderImpl
我试过了
- 类加载器设置为“首先使用本地类加载器加载的类(最后是父类加载器)”
- http://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.base.doc/ae/twbs_thirdparty.html
- 将 com.ibm.websphere.webservices.DisableIBMJAXWSEngine 属性设置为 true (http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/twbs_thirdparty.html)
- 在服务器的 JVM 参数中添加“-Djavax.xml.ws.spi.Provider=org.apache.cxf.jaxws.spi.ProviderImpl”
他们都没有帮助,我仍然有同样的例外。
有趣的是,当我从应用程序中的测试 JSP 打印 System.getProperty(“javax.xml.ws.spi.Provider”) 时,它会输出 org.apache.cxf.jaxws.spi.ProviderImpl。
感谢您的帮助
【问题讨论】:
标签: java websphere cxf jax-ws classloader