Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-19218

[GSS](7.4.z) JBossWS/CXF is using application's JAXP instead of the container's JAXP implementation

XMLWordPrintable

    • +
    • Hide

      Remove the old JAXP Implementation from the application OR

      Use a jboss-deployment-structure.xml to depend on the module: org.apache.xerces , which basically will cause it to ignore the xerces packaged in the application.

      <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
        <deployment>
           <dependencies>
              <module name="org.apache.xerces" />
           </dependencies>
        </deployment>
      </jboss-deployment-structure>
      
      Show
      Remove the old JAXP Implementation from the application OR Use a jboss-deployment-structure.xml to depend on the module: org.apache.xerces , which basically will cause it to ignore the xerces packaged in the application. <jboss-deployment-structure xmlns= "urn:jboss:deployment-structure:1.2" > <deployment> <dependencies> <module name= "org.apache.xerces" /> </dependencies> </deployment> </jboss-deployment-structure>

      Deploy JAXWS application that packages an older JAXP implementation.

      Try to get the wsdl: wget http://localhost:8080/helloWorld?wsdl

      When the container is performing operations, it should use the container's JAXP implementation, else it could fail if the application is packaging a version that is not compatible.

      19:28:42,560 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.3.0.GA (WildFly Core 10.1.2.Final-redhat-00001) started in 4091ms - Started 426 of 652 services (374 services are lazy, passive or on-demand)
      19:28:45,537 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /helloWorld: java.lang.AbstractMethodError: org.apache.xerces.dom.DeferredDocumentImpl.setXmlStandalone(Z)V
      	at org.apache.cxf.frontend.WSDLGetUtils.updateDoc(WSDLGetUtils.java:332)
      	at org.apache.cxf.frontend.WSDLGetUtils.writeWSDLDocument(WSDLGetUtils.java:708)
      	at org.apache.cxf.frontend.WSDLGetUtils.getDocument(WSDLGetUtils.java:151)
      	at org.apache.cxf.frontend.WSDLGetInterceptor.getDocument(WSDLGetInterceptor.java:129)
      	at org.apache.cxf.frontend.WSDLGetInterceptor.handleMessage(WSDLGetInterceptor.java:77)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
      	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
      	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
      	at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:110)
      	at org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:134)
      	at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
      	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
      	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:225)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
      	at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
      	at org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
              ...
      

        1. DelegateClassLoader.diff
          3 kB
        2. helloWorld.war
          764 kB
        3. helloWorld-ee10.war
          764 kB

            rhn-engineering-ema Jim Ma
            rhn-support-bmaxwell Brad Maxwell
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: