2011-08-29 3 views
1

Websphere 7의 Apache CXF 배포가 제대로 작동하지 않는 것으로 보아 지난 2 박 동안이 문제에 대해 정말로 단서가 없었습니다.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이 없습니다. 클래스 로딩 정책 - 부모 마지막, 비활성화 IBMJaxWsEngine = True

APP를 사용하는 CXF는 CXF 클라이언트와 서비스를 모두 포함합니다. 참조 신호 서비스를 요청을 수신하고 처리 할 보이지만, 클라이언트 구성 요소는 지속적으로이 오류와 함께 실패 :

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

Vineet이 명확의 Xerces 파서 불일치로 인해 오류가 발생합니다. 서비스를 실행할 때 사용 된 정확한 항아리를 찾으려면 아래의 트릭을 사용하십시오. 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와 비슷한 문제가있어서 truezip-maven-plugin을 사용하여 XmlBeans 종속성에서 org/w3c/dom 패키지를 제거하여 해결했습니다.

관련 문제