从Websphere更改默认的axis2 Webservice调用?

时间:2015-11-19 03:50:20

标签: java web-services websphere cxf axis2

嗨,我想使用cxf调用webservice,因为我在编码时已将所有与cxf相关的jar添加到项目构建路径中。在websphere中部署时,在SupportingJars文件夹中添加了所有jar,并将其设置为我的耳朵参考共享库。

请在下面找到代码来调用webservice

Dispatch disp = service.createDispatch( portName, jaxbContext,Service.Mode.PAYLOAD ); Object jaxbResObject = (Object) disp.invoke( jaxbReqObject );

此代码在Weblogic中正常工作为 org.apache.cxf.jaxws.DispatchImpl disp对象。但是在webshpere中它将 org.apache.axis2.jaxws.client.dispatch.JAXBDispatch 作为disp对象返回,并在 javax.xml.ws.soap.SOAPFaultException时从axis2获取invoke

我知道像websphere插件文件夹包含axis2 jar。作为使用此jar的javax的默认createDispatch方法。如何更改类加载策略或说javax createDispatch以使用我的cxf jars in ref shared lib folder ??

1 个答案:

答案 0 :(得分:1)

WebSphere Application Server使用基于Axis2的Web服务引擎,如果要使用CXF,请按照此文档禁用Axis2引擎以避免任何Jar冲突问题。 https://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/twbs_thirdparty.html?lang=en

此致 杨