How to use my own woodstox implementation in JBoss EAP ?
Issue
- We need to use our own woodstox stax2 and cxf implementation in our appliction. We are packaging cxf-2.6.9.* jars, the
woodstox-core-asl-4.2.0.jarand thestax2-api-4.0.0.jarin the application. We exlcuded this viajboss-deployment-structure.xml,
<exclusions>
<!-- <module name="org.apache.santuario.xmlsec" ></module>-->
<module name="org.hibernate" ></module>
<module name="org.apache.xerces"></module>
<module name="org.apache.cxf"></module>
<module name="org.codehaus.woodstox" ></module>
</exclusions>
<exclude-subsystems>
<subsystem name="webservices" ></subsystem>
<subsystem name="jaxrs" ></subsystem>
</exclude-subsystems>
- We get following error message, because in
stax2-api-4.0.0the empty iterator uses generic types.
java.lang.NoSuchMethodError: org.codehaus.stax2.ri.EmptyIterator.getInstance()Lorg/codehaus/stax2/ri/EmptyIterator;
every time we make a call to any cxf Webservice.
-
Is there a way to exclude jboss woodstox implemetation from the application ?
-
The stacktrace is:
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/myservlet/ws].[CXFServlet]] (http-/0.0.0.0:8080-1) JBWEB000236: Servlet.service() for servlet CXFServlet threw exception: java.lang.NoSuchMethodError: org.codehaus.stax2.ri.EmptyIterator.getInstance()Lorg/codehaus/stax2/ri/EmptyIterator; at org.apache.cxf.staxutils.StaxUtils.writeStartElement(StaxUtils.java:746) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:699) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:687) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:635) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.wsdl.EndpointReferenceUtils.createSchema(EndpointReferenceUtils.java:660) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.wsdl.EndpointReferenceUtils.getSchema(EndpointReferenceUtils.java:743) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.setSchemaInMessage(AbstractInDatabindingInterceptor.java:109) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:94) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:99) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:70) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-api-2.6.9.jar:2.6.9] at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:214) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:194) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:131) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:266) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:186) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:242) [cxf-rt-transports-http-2.6.9.jar:2.6.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.x
- JBossWS-CXF
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.