You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by James Hughes <ja...@avocacom.net> on 2002/04/09 17:56:22 UTC

XML Parsers and Classloading in Tomcat

Hi,

I am having terrible trouble getting Axis up and running.  I *know* my
problem must be related to class loading in Tomcat, but I cannot for the
life of me figure out what is going on, so I hope somebody here can help me.

I am running Tomcat 3.3a on a Win2000 machine, and am attempting to use Axis
Beta 1.  I have followed the installation instructions as follows:

1.  Copied the Axis folder from the webapps folder of my Axis download into
the TOMCAT_HOME/webapps directory.

2.  Downloaded the latest Xerces 2 distribution and copied xercesImpl.jar
and xmlParserAPIs.jar into the TOMCAT_HOME/webapps/axis/WEB-INF/lib/
directory.


The contents of my tomcat lib directories are as follows:

TOMCAT_HOME/lib/container: crimson.jar, facade22.jar, jasper.jar,
tomcat_modules.jar, tomcat_util.jar, xalan.jar

TOMCAT_HOME/lib/common: connector_util.jar, core_util.jar, etomcat.jar,
jasper-runtime.jar, servlet.jar, tomcat_core.jar

TOMCAT_HOME/lib/apps: EMPTY

When I start Tomcat and point my browser to
"http://127.0.0.1:8080/axis/servlet/AdminServlet" I get the following stack
trace:

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
	at
org.apache.tomcat.util.depend.DependClassLoader12.defineClassCompat(Unknown
Source)
	at
org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(Unknown
Source)
	at org.apache.tomcat.util.depend.DependClassLoader12$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.tomcat.util.depend.DependClassLoader12.loadClass(Unknown
Source)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
	at org.apache.tomcat.facade.ServletHandler.getServlet(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.preInit(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.init(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
	at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
	at org.apache.tomcat.core.ContextManager.service(Unknown Source)
	at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown
Source)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:484)


I reckon the XML parsing classes are not loaded correctly somewhere, but I
dont know how to get around this - can anybody please help me??

Thanks already,
James




RE: XML Parsers and Classloading in Tomcat

Posted by James Hughes <ja...@avocacom.net>.
Sorry, that wasa the wrong stack trace, heres the right stack trace:

java.lang.NoSuchMethodError
	at org.apache.axis.deployment.wsdd.WSDDDocument.(Unknown Source)
	at org.apache.axis.configuration.FileProvider.configureEngine(Unknown
Source)
	at org.apache.axis.AxisEngine.init(Unknown Source)
	at org.apache.axis.AxisEngine.(Unknown Source)
	at org.apache.axis.server.AxisServer.(Unknown Source)
	at org.apache.axis.server.DefaultAxisServerFactory.createNewServer(Unknown
Source)
	at org.apache.axis.server.DefaultAxisServerFactory.getServer(Unknown
Source)
	at org.apache.axis.server.AxisServer.getServer(Unknown Source)
	at org.apache.axis.transport.http.AxisServlet.getEngine(Unknown Source)
	at org.apache.axis.transport.http.AdminServlet.getEngine(Unknown Source)
	at org.apache.axis.transport.http.AdminServlet.doGet(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at org.apache.tomcat.facade.ServletHandler.doService(Unknown Source)
	at org.apache.tomcat.core.Handler.invoke(Unknown Source)
	at org.apache.tomcat.core.Handler.service(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
	at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
	at org.apache.tomcat.core.ContextManager.service(Unknown Source)
	at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown
Source)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:484)

-----Original Message-----
From: James Hughes [mailto:james@avocacom.net]
Sent: 09 April 2002 16:56
To: Axis Users
Subject: XML Parsers and Classloading in Tomcat


Hi,

I am having terrible trouble getting Axis up and running.  I *know* my
problem must be related to class loading in Tomcat, but I cannot for the
life of me figure out what is going on, so I hope somebody here can help me.

I am running Tomcat 3.3a on a Win2000 machine, and am attempting to use Axis
Beta 1.  I have followed the installation instructions as follows:

1.  Copied the Axis folder from the webapps folder of my Axis download into
the TOMCAT_HOME/webapps directory.

2.  Downloaded the latest Xerces 2 distribution and copied xercesImpl.jar
and xmlParserAPIs.jar into the TOMCAT_HOME/webapps/axis/WEB-INF/lib/
directory.


The contents of my tomcat lib directories are as follows:

TOMCAT_HOME/lib/container: crimson.jar, facade22.jar, jasper.jar,
tomcat_modules.jar, tomcat_util.jar, xalan.jar

TOMCAT_HOME/lib/common: connector_util.jar, core_util.jar, etomcat.jar,
jasper-runtime.jar, servlet.jar, tomcat_core.jar

TOMCAT_HOME/lib/apps: EMPTY

When I start Tomcat and point my browser to
"http://127.0.0.1:8080/axis/servlet/AdminServlet" I get the following stack
trace:

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
	at
org.apache.tomcat.util.depend.DependClassLoader12.defineClassCompat(Unknown
Source)
	at
org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(Unknown
Source)
	at org.apache.tomcat.util.depend.DependClassLoader12$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.tomcat.util.depend.DependClassLoader12.loadClass(Unknown
Source)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
	at org.apache.tomcat.facade.ServletHandler.getServlet(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.preInit(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.init(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
	at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
	at org.apache.tomcat.core.ContextManager.service(Unknown Source)
	at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown
Source)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:484)


I reckon the XML parsing classes are not loaded correctly somewhere, but I
dont know how to get around this - can anybody please help me??

Thanks already,
James





RE: XML Parsers and Classloading in Tomcat

Posted by James Hughes <ja...@avocacom.net>.
Still no luck!

I got rid of the xercesImpl.jar and xercesParserAPIs.jar (from Xerces 2),
and went to get xerces.jar (from Xerces 1.4.4).

I tried running the same as before with xerces.jar in
TOMCAT_HOME/lib/common, with no joy - the same exception.

I also tried putting xerces.jar in the TOMCAT_HOME/webapps/axis/WEB-INF/lib
directory and still the same exception was thrown.

Is there a setting in tomcat or something like that I should be looking for?

Thanks for your help
J

-----Original Message-----
From: Brenda Coulson [mailto:bcoulson@cysive.com]
Sent: 09 April 2002 17:04
To: axis-user@xml.apache.org
Subject: RE: XML Parsers and Classloading in Tomcat


Yes, I did not see the xerces.jar file anywhere in your listing of your
Tomcat lib/common directory. Also, make sure you are using the version of
xerces that is compatible with JAXP, as mentioned in the Axis installation
guide. I had the same error - "NoSuchMethodError" being thrown from within a
different place in Axis, but it was solved when I ensured that I was using
the latest Xerces jar file.

brenda

-----Original Message-----
From: James Hughes [mailto:james@avocacom.net]
Sent: Tuesday, April 09, 2002 11:56 AM
To: Axis Users
Subject: XML Parsers and Classloading in Tomcat


Hi,

I am having terrible trouble getting Axis up and running.  I *know* my
problem must be related to class loading in Tomcat, but I cannot for the
life of me figure out what is going on, so I hope somebody here can help me.

I am running Tomcat 3.3a on a Win2000 machine, and am attempting to use Axis
Beta 1.  I have followed the installation instructions as follows:

1.  Copied the Axis folder from the webapps folder of my Axis download into
the TOMCAT_HOME/webapps directory.

2.  Downloaded the latest Xerces 2 distribution and copied xercesImpl.jar
and xmlParserAPIs.jar into the TOMCAT_HOME/webapps/axis/WEB-INF/lib/
directory.


The contents of my tomcat lib directories are as follows:

TOMCAT_HOME/lib/container: crimson.jar, facade22.jar, jasper.jar,
tomcat_modules.jar, tomcat_util.jar, xalan.jar

TOMCAT_HOME/lib/common: connector_util.jar, core_util.jar, etomcat.jar,
jasper-runtime.jar, servlet.jar, tomcat_core.jar

TOMCAT_HOME/lib/apps: EMPTY

When I start Tomcat and point my browser to
"http://127.0.0.1:8080/axis/servlet/AdminServlet" I get the following stack
trace:

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
	at
org.apache.tomcat.util.depend.DependClassLoader12.defineClassCompat(Unknown
Source)
	at
org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(Unknown
Source)
	at org.apache.tomcat.util.depend.DependClassLoader12$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.tomcat.util.depend.DependClassLoader12.loadClass(Unknown
Source)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
	at org.apache.tomcat.facade.ServletHandler.getServlet(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.preInit(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.init(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
	at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
	at org.apache.tomcat.core.ContextManager.service(Unknown Source)
	at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown
Source)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:484)


I reckon the XML parsing classes are not loaded correctly somewhere, but I
dont know how to get around this - can anybody please help me??

Thanks already,
James




RE: XML Parsers and Classloading in Tomcat

Posted by Brenda Coulson <bc...@cysive.com>.
Yes, I did not see the xerces.jar file anywhere in your listing of your
Tomcat lib/common directory. Also, make sure you are using the version of
xerces that is compatible with JAXP, as mentioned in the Axis installation
guide. I had the same error - "NoSuchMethodError" being thrown from within a
different place in Axis, but it was solved when I ensured that I was using
the latest Xerces jar file.

brenda

-----Original Message-----
From: James Hughes [mailto:james@avocacom.net]
Sent: Tuesday, April 09, 2002 11:56 AM
To: Axis Users
Subject: XML Parsers and Classloading in Tomcat


Hi,

I am having terrible trouble getting Axis up and running.  I *know* my
problem must be related to class loading in Tomcat, but I cannot for the
life of me figure out what is going on, so I hope somebody here can help me.

I am running Tomcat 3.3a on a Win2000 machine, and am attempting to use Axis
Beta 1.  I have followed the installation instructions as follows:

1.  Copied the Axis folder from the webapps folder of my Axis download into
the TOMCAT_HOME/webapps directory.

2.  Downloaded the latest Xerces 2 distribution and copied xercesImpl.jar
and xmlParserAPIs.jar into the TOMCAT_HOME/webapps/axis/WEB-INF/lib/
directory.


The contents of my tomcat lib directories are as follows:

TOMCAT_HOME/lib/container: crimson.jar, facade22.jar, jasper.jar,
tomcat_modules.jar, tomcat_util.jar, xalan.jar

TOMCAT_HOME/lib/common: connector_util.jar, core_util.jar, etomcat.jar,
jasper-runtime.jar, servlet.jar, tomcat_core.jar

TOMCAT_HOME/lib/apps: EMPTY

When I start Tomcat and point my browser to
"http://127.0.0.1:8080/axis/servlet/AdminServlet" I get the following stack
trace:

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
	at
org.apache.tomcat.util.depend.DependClassLoader12.defineClassCompat(Unknown
Source)
	at
org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(Unknown
Source)
	at org.apache.tomcat.util.depend.DependClassLoader12$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.tomcat.util.depend.DependClassLoader12.loadClass(Unknown
Source)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
	at org.apache.tomcat.facade.ServletHandler.getServlet(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.preInit(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.init(Unknown Source)
	at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
	at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
	at org.apache.tomcat.core.ContextManager.service(Unknown Source)
	at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown
Source)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:484)


I reckon the XML parsing classes are not loaded correctly somewhere, but I
dont know how to get around this - can anybody please help me??

Thanks already,
James