2011-08-29 75 views
1

在過去的兩個晚上對這個問題確實無能爲力,Websphere 7上的Apache CXF部署似乎不起作用。Apache CXF Websphere 7 - org.w3c.dom.None.setUserData上的VerifyError

環境:cxf 2.4.1,websphere 7.0.0.17,web-inf/lib中的Jars沒有woodstox/jaxb-impl。類加載策略 - parent last,DisableIBMJaxWsEngine = True

我們使用APP的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) 

回答

1

維尼特這顯然是由於在Xerces解析器來不符的錯誤。 使用下面的技巧來查找執行服務時使用的確切jar。 org.apache.xerces.parsers.DOMParser.class.getProtectionDomain()。getCodeSource()。getLocation()

然後驗證版本並用最新替換。

如果不解決,然後與每個衝突的瓶 SAAJ-api.jar中 SAAJ-impl.jar中 xalan.jar xercesImpl.jar 的xml-apis.jar 的JAXB api.jar中的重複練習 JAXB-impl.jar中

1

我有類似的問題CXF + XmlBeans的+的WebSphere,以及i從XmlBeans的依賴性使用truezip-行家-插件除去組織/ W3C/DOM包解決它。