0 Replies Latest reply on Jul 23, 2009 5:39 AM by Julien Guyard

    oracle xmlparserv2 in JBOSS 5.1.0 GA

    Julien Guyard Newbie

      Hi,

      here is the context:

      - JBOSS 5.1.0 GA
      - last release of JBOSSWS installed on it
      - my application uses JAX-WS webservices

      Ear i want to deploy uses ADF 10.1.3.3. The thing is that I really don't want to deploy my application with all ADF's jars placed in WEB-INF/lib.

      So ADF's jars have been placed in JBOSS_HOME/server/myserver/lib

      ADF uses xmlparserv2 which is the oracle implementation that conflicts with the default xerces implementation that comes with JBOSS.

      I think I tried everything to make that thing works.


      1. I tried to set JAVA_OPTS to make oracle parser the priority:
      -Djavax.xml.xpath.XPathFactory=oracle.xml.xpath.JAXPXPathFactory
      -Djavax.xml.transform.TransformerFactory=oracle.xml.jaxp.JXSAXTransformerFactory
      -Djavax.xml.parsers.SAXParserFactory=oracle.xml.jaxp.JXSAXParserFactory
      -Djavax.xml.parsers.DocumentBuilderFactory=oracle.xml.jaxp.JXDocumentBuilderFactory

      --> JBOSS server is waiting to start with xerces implementation: it doesn't start anymore.

      2. I tried to declare oracle implementation in META-INF/services/... in my EAR:

      JBOSS starts normally, when i tried to invoke the wsdl document generated by jboss with it's URL, i get another error:

      java.lang.AbstractMethodError
       at org.jboss.wsf.common.DOMUtils$1.initialValue(DOMUtils.java:89)
       at org.jboss.wsf.common.DOMUtils$1.initialValue(DOMUtils.java:110)
       at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374)
       at java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347)
       at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
       at java.lang.ThreadLocal.get(ThreadLocal.java:127)
       at org.jboss.wsf.common.DOMUtils.getDocumentBuilder(DOMUtils.java:149)
       at org.jboss.wsf.common.DOMUtils.parse(DOMUtils.java:173)



      3. I tried to do nothing special (no JAVA_OPTS, no META-INF/services):

      --> Obviously i can invoke the webservice and when it's time for ADF to look for a xml parser, I get ClassCastException between xerces and xmlparserv2




      I've been looking for a while and I've started to think ears using different kinds of frameworks only work in JBOSS when everything is embedded in the ear.

      So if anyone has the solution i would be soooooooo gratefull

      Regards,

      Julien