oracle xmlparserv2 in JBOSS 5.1.0 GA
jguyard Jul 23, 2009 5:39 AMHi,
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