How to use my own woodstox implementation in JBoss EAP ?

Solution Verified - Updated -

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.jar and the stax2-api-4.0.0.jar in the application. We exlcuded this via jboss-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.0 the 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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.