ClassLoader issue with xerces and DocumentBuilderFactoryImpl
326154Nov 7 2007 — edited Nov 8 2007Hello everyone,
I'm currently working on deploying a application inside oracle 10.2.0.1. The app depends on a lot of foreign jar files. Loadjava worked well, but when I'm now trying to call the app I get the following xerces error.
I already set the system property inside the app, because it was null before - no change :(
The class is there and valid - checked it via
SELECT owner,
object_type,
object_name,
status
FROM dba_objects
WHERE status = 'INVALID'
ORDER BY owner, object_type, object_name;
I know it is a ClassLoader issue, but don't know how to solve it.
The strange thing is that in the trace file I see the following entry for successful loaded classes:
[Server] classForName: Class.forName(uk.org.ogsadai.dqp.common.messages.DQPXMLMessageType)
[Server] classForName: Cannot find uk.org.ogsadai.dqp.common.messages.DQPXMLMessageType
[Server] look up an owner <SELECT OWNER FROM ALL_OBJECTS WHERE DBMS_JAVA.LONGNAME(OBJECT_NAME)='........>
[Server] classForName: Check schema <SYS>
[Server] classForName: Get class <class uk.org......>
but this is not tried for the classloading below - what to do here to achieve this?
Hoping for help,
Alexander
*******************************************************************************************
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:99)
at org.apache.axis.utils.XMLUtils.getDOMFactory(XMLUtils.java:214)
at org.apache.axis.utils.XMLUtils.<clinit>(XMLUtils.java:83)
at org.apache.axis.encoding.SerializationContext.getEncoder(SerializationContext.java:1509)
at org.apache.axis.encoding.SerializationContext.writeSafeString(SerializationContext.java:1166)
at org.apache.axis.message.NodeImpl.output(NodeImpl.java:817)
at org.apache.axis.message.MessageElement.outputImpl(MessageElement.java:1255)
at org.apache.axis.message.MessageElement.output(MessageElement.java:1207)
at org.apache.axis.message.MessageElement.getAsString(MessageElement.java:1110)
at org.apache.axis.message.MessageElement.getAsDocument(MessageElement.java:1079)
at uk.org.ogsadai.dqp.gqes.service.QueryEvaluationServiceBindingImpl.isValid(QueryEvaluationServiceBindingImpl.java:173)
at uk.org.ogsadai.dqp.gqes.service.QueryEvaluationServiceBindingImpl.evaluate(QueryEvaluationServiceBindingImpl.java:70)
at uk.org.ogsadai.dqp.gqes.service.QueryEvaluationServiceBindingImplWrapper.evaluate(QueryEvaluationServiceBindingImplWrapper.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at oracle.jpub.reflect.Server.invoke(Server.java:96)
at oracle.jpub.reflect.Server.invoke(Server.java:70)
java.lang.ClassNotFoundException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:214)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:384)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:93)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:174)
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:93)
at org.apache.axis.utils.XMLUtils.getDOMFactory(XMLUtils.java:214)
at org.apache.axis.utils.XMLUtils.<clinit>(XMLUtils.java:83)
at org.apache.axis.encoding.SerializationContext.getEncoder(SerializationContext.java:1509)
at org.apache.axis.encoding.SerializationContext.writeSafeString(SerializationContext.java:1166)
at org.apache.axis.message.NodeImpl.output(NodeImpl.java:817)
at org.apache.axis.message.MessageElement.outputImpl(MessageElement.java:1255)
at org.apache.axis.message.MessageElement.output(MessageElement.java:1207)
at org.apache.axis.message.MessageElement.getAsString(MessageElement.java:1110)
at org.apache.axis.message.MessageElement.getAsDocument(MessageElement.java:1079)
at uk.org.ogsadai.dqp.gqes.service.QueryEvaluationServiceBindingImpl.isValid(QueryEvaluationServiceBindingImpl.java:173)
at uk.org.ogsadai.dqp.gqes.service.QueryEvaluationServiceBindingImpl.evaluate(QueryEvaluationServiceBindingImpl.java:70)
at uk.org.ogsadai.dqp.gqes.service.QueryEvaluationServiceBindingImplWrapper.evaluate(QueryEvaluationServiceBindingImplWrapper.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at oracle.jpub.reflect.Server.invoke(Server.java:96)
at oracle.jpub.reflect.Server.invoke(Server.java:70)