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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
