WebSphere 8.5上的Apache CXF 2.7.11

时间:2015-06-29 08:23:00

标签: cxf websphere-8

我有一个通过CXF为客户公开Web服务的应用程序。事情的这一面很完美。

应用程序还需要充当客户端并与其他服务器联系,这是我遇到问题的地方。

使用“Parent First”类加载我得到了这个:

Rails

使用“Parent last”类加载应用程序甚至无法公开自己的服务:

if params[:type_select] == 'Other'
  type = params[:type_input]
else
  type = params[:type_select]
end

我已经尝试通过WAR的manifest.mf禁用WebShere自己的JAXWS引擎,无论我尝试使用“Parent last”类加载,我总是会遇到如上所述的错误。一个不同的类,取决于我移动或替换的JAR,但始终是验证错误。

我也经历了official Apache documentation,各种IBM guides,无数blog和论坛帖子无济于事。我有这个

的结局

同样的WAR在Tomcat,JBoss和WebLogic上运行完美。

这是所有第三方JAR文件的完整列表:

Caused by: javax.xml.ws.WebServiceException: Error: Maintain Session is enabled but none of the session properties (Cookies, Over-written URL) are returned.
at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:173) ~[org.apache.axis2.jar:na]
at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70) ~[org.apache.axis2.jar:na]
at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:118) ~[org.apache.axis2.jar:na]
at org.apache.axis2.jaxws.BindingProvider.setupSessionContext(BindingProvider.java:355) ~[org.apache.axis2.jar:na]
at org.apache.axis2.jaxws.BindingProvider.checkMaintainSessionState(BindingProvider.java:322) ~[org.apache.axis2.jar:na]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:393) ~[org.apache.axis2.jar:na]
at ...

有谁知道如何在WebSphere 8.5上获得Apache CXF 2.7.11,以便能够充当服务器作为客户端?

2 个答案:

答案 0 :(得分:4)

使用Was 8.5(jdk 1.7_64),CXF,JAXB&的xmlbeans:

JAXB是CXF使用的默认xml / java绑定。 8.5使用了支持JAXB api定义版本2.2.2(在<WebSphere-dir>\AppServer\endorsed_apis\jaxb-api.jar中)和标准实现(在JRE rt.jar中)。

Xmlbeans 2.4.x保存在Was(<WebSphere-dir>\AppServer\java_1.7_64\jre\lib\xml.jar)中已经存在的org.w3c。*类中。

最后我们解决了这个问题:

这是我们成功使用的所有第三方JAR文件的完整列表:

  • CXF - * - 2.7.11.jar
  • DOM4J-1.6.1.jar
  • ehcache的-2.8.2.jar
  • ehcache的核 - 2.5.1.jar
  • 抛放-1.1.jar
  • neethi-3.0.3.jar
  • OGNL-3.0.6.jar
  • opensaml-2.6.1.jar
  • openws-1.5.1.jar
  • 弹簧 - * - 3.2.13.RELEASE.jar
  • stax2-API-3.1.1.jar
  • woodstox核-ASL-4.2.1.jar
  • WSDL4J-1.6.3.jar
  • WSS4J-1.6.10.jar
  • XML的旋转变压器1.2.jar
  • 的xmlbeans-2.3.0-now3c.jar
  • xmlpull-1.1.3.1.jar
  • XMLSchema的芯 - 2.1.0.jar
  • xmlsec-1.5.4.jar
  • xmltooling-1.4.1.jar
  • xpp3_min-1.1.4c.jar
  • 的XStream-1.4.7.jar

我们希望这会有所帮助。

答案 1 :(得分:1)

PARENT_LAST: 也许您在部署中使用javax.activation.DataHandler类有第三方库。尝试从部署中删除activation-1.1.jar。

这篇文章对您有用:LinkageError whilst trying to invoke CXF/SOAP webservice