How to package a version of Xerces in a WAR application in JBoss EAP 5?

Solution Unverified - Updated -

Issue

  • I have an issue with xercesImpl.jar lib provided in EAP 5.0 inside JBOSS_HOME/lib/endorsed/.
  • The customer has a WebApp that invokes a WebService using a specific version of xerces. When app try to access the WS the following error is occuring:

    "root cause
    java.lang.VerifyError: (class: org/apache/soap/util/xml/XercesParserLiaison, method: read signature: (Ljava/lang/String;Ljava/io/Reader;)Lorg/w3c/dom/Document;) Incompatible object argument for function call
     org.apache.soap.rpc.Call.<init>(Call.java:85)
     org.apache.soap.rpc.Call.<init>(Call.java:97)
     org.apache.soap.rpc.Call.<init>(Call.java:91)
    
  • Even with class scoping and jboss-classloading descritptor inside the WAR, this problem occur. The only way that this webapp works is moving the JBOSS_HOME/lib/endorsed/xercesImpl.jar to JBOSS_HOME/lib/.

  • Is there any way to isolate libs provided by a WAR from JBoss endorsed libs?

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 5.0.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content