Hello,
I am working with digester and when executing this line of code
upsResponseDTO = xmlDigester.parse(new ByteArrayInputStream(
upsResponse.getBytes()));
I get a ClassNotFoundException in digester
org.apache.commons.digester.Digester TRAS0014I: The following exception was
logged java.lang.ClassNotFoundException:
mycompany.service.ups.dto.UPSResponseDTO
at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java(Compiled
Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at org.apache.commons.digester.ObjectCreateRule.begin(
ObjectCreateRule.java:204)
at org.apache.commons.digester.Rule.begin(Rule.java:152)
at org.apache.commons.digester.Digester.startElement(Digester.java:1286)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(
AbstractSAXParser.java(Compiled Code))
at org.apache.xerces.impl.XMLNamespaceBinder.startElement(
XMLNamespaceBinder.java(Compiled Code))
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(
XMLDTDValidator.java(Compiled Code))
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(
XMLDocumentFragmentScannerImpl.java(Compiled Code))
at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook
(XMLDocumentScannerImpl.java:929)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch
(XMLDocumentFragmentScannerImpl.java(Compiled Code))
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(
XMLDocumentFragmentScannerImpl.java(Compiled Code))
at org.apache.xerces.parsers.StandardParserConfiguration.parse(
StandardParserConfiguration.java:525)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(
StandardParserConfiguration.java:581)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at org.apache.xerces.parsers.AbstractSAXParser.parse(
AbstractSAXParser.java:1158)
at org.apache.commons.digester.Digester.parse(Digester.java:1591)
at mycompany.service.ups.client.UPSXmlDigester.parse(UPSXmlDigester.java
:84)
I can execute the following line in the same JVM instance with no problems.
UPSResponseDTO upsRp = new UPSResponseDTO();
I have verified that the import is the same as the ClassNotFound
import mycompany.service.ups.dto.UPSResponseDTO;
Is it possible that digester uses a different classpath or classloaded for
the classloading it does? I'm a little confused here (Actually very
confused)
Thanks,
Michael