Apache CXF Websphere 7-org.w3c.dom.None.setUserData上的VerifyError

Apache CXF Websphere 7-org.w3c.dom.None.setUserData上的VerifyError,cxf,websphere-7,verifyerror,Cxf,Websphere 7,Verifyerror,在过去的两个晚上,ApacheCXF在WebSphere7上的部署在这个问题上真的毫无头绪,但似乎无法工作 环境:CXF2.4.1、WebSphere7.0.0.17、web inf/lib中的JAR没有woodstox/jaxb impl。类加载策略-parent last,DisableIBMJaxWsEngine=True 我们使用CXF的应用程序包含CXF客户端和服务。RS服务似乎接收并处理请求,但客户端组件不断失败,并出现以下错误: Caused by: java.lang.Verif

在过去的两个晚上,ApacheCXF在WebSphere7上的部署在这个问题上真的毫无头绪,但似乎无法工作

环境:CXF2.4.1、WebSphere7.0.0.17、web inf/lib中的JAR没有woodstox/jaxb impl。类加载策略-parent last,DisableIBMJaxWsEngine=True

我们使用CXF的应用程序包含CXF客户端和服务。RS服务似乎接收并处理请求,但客户端组件不断失败,并出现以下错误:

Caused by: java.lang.VerifyError: org/w3c/dom/Node.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;   
org.apache.cxf.staxutils.StaxUtils.addLocation(StaxUtils.java:1083)   
org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:971)
org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:947)
org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:874)   
org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:226)   
org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:186)   
org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:92)   
org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203)
org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)   
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:90)
javax.xml.ws.Service.<init>(Service.java:67)
原因:java.lang.VerifyError:org/w3c/dom/Node.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
org.apache.cxf.staxutils.staxutils.addLocation(staxutils.java:1083)
org.apache.cxf.staxutils.staxutils.readDocElements(staxutils.java:971)
org.apache.cxf.staxutils.staxutils.readDocElements(staxutils.java:947)
org.apache.cxf.staxutils.staxutils.read(staxutils.java:874)
org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:226)
org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:186)
WSDLServiceFactory.(WSDLServiceFactory.java:92)
org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203)
org.apache.cxf.jaxws.serviceinpl.(serviceinpl.java:147)
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:90)
java.xml.ws.Service.(Service.java:67)

Vinet这显然是一个错误,因为Xerces解析器不匹配。 使用下面的技巧找到执行服务时使用的确切jar。 org.apache.xerces.parsers.DOMParser.class.getProtectionDomain().getCodeSource().getLocation()

然后验证版本并替换为最新版本

如果问题没有解决,则对每个冲突的jar重复此练习 saaj-api.jar saaj-impl.jar xalan.jar xercesImpl.jar xml-api.jar jaxb-api.jar
jaxb impl.jar

我在CXF+XmlBeans+WebSphere中遇到了类似的问题,我通过使用truezip maven插件从XmlBeans依赖项中删除org/w3c/dom包来解决了这个问题