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 "Ng Yan Tun, Van Sioung" <VN...@CCSC.com> on 2002/06/19 02:04:47 UTC

deployment problem

Hi guys,

This is the first time I am using Apache Axis. I have followed that
instruction on installlation.
I am using Tomcat 3.2.

I have already set the classpath for 
e:\todeploy;e:\axisjar\xerces.jar;e:\axisjar\axis.jar;e:\axisjar\commons-log
ging.jar;e:\axisjar\jaxrpc.jar;e:\axisjar\log4j-core.jar;e:\axisjar\tt-bytec
ode.jar;e:\axisjar\wsdl4j.jar;

e:\todeploy is the directory where I kept the sample code to be deployed.



When I tried the deployement I get the following error:


E:\TODEPLOY\SAMPLES\STOCK>java org.apache.axis.client.AdminClient
-lhttp://localhost:8080/axis/services/AdminService deploy.wsdd 
- Processing file deploy.wsdd
- AxisFault: AxisFault
 faultCode: http://xml.apache.org/axis/:HTTP
 faultString: Internal Server Error
 faultActor: null
 faultDetail: 
	null: return code:  500
<h1>Error: 500</h1>
<h2>Location: /axis/services/AdminService</h2><b>Internal Servlet
Error:</b><br><pre>java.lang.NoSuchMethodError: java.lang.String
org.w3c.dom.Node.getLocalName()
	void
org.apache.axis.deployment.wsdd.WSDDDocument.<init>(org.w3c.dom.Document)
	void
org.apache.axis.configuration.FileProvider.configureEngine(org.apache.axis.A
xisEngine)
	void org.apache.axis.AxisEngine.init()
	void
org.apache.axis.AxisEngine.<init>(org.apache.axis.EngineConfiguration)
	void
org.apache.axis.server.AxisServer.<init>(org.apache.axis.EngineConfiguration
)
	org.apache.axis.server.AxisServer
org.apache.axis.server.DefaultAxisServerFactory.createNewServer(org.apache.a
xis.EngineConfiguration)
	org.apache.axis.server.AxisServer
org.apache.axis.server.DefaultAxisServerFactory.getServer(java.util.Map)
	org.apache.axis.server.AxisServer
org.apache.axis.server.AxisServer.getServer(java.util.Map)
	org.apache.axis.server.AxisServer
org.apache.axis.transport.http.AxisServlet.getEngine(javax.servlet.http.Http
Servlet)
	org.apache.axis.server.AxisServer
org.apache.axis.transport.http.AxisServlet.getEngine()
	void
org.apache.axis.transport.http.AxisServlet.doPost(javax.servlet.http.HttpSer
vletRequest, javax.servlet.http.HttpServletResponse)
	void
javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest
, javax.servlet.http.HttpServletResponse)
	void
javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
javax.servlet.ServletResponse)
	void
org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Reque
st, org.apache.tomcat.core.Response)
	void
org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request,
org.apache.tomcat.core.Response)
	void
org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request
, org.apache.tomcat.core.Response)
	void
org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core
.Request, org.apache.tomcat.core.Response)
	void
org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request
, org.apache.tomcat.core.Response)
	void
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.a
pache.tomcat.service.TcpConnection, java.lang.Object[])
	void
org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
	void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
	void java.lang.Thread.run()
</pre>


Your help is well appreciated

regards

Van Sioung

Re: deployment problem

Posted by Brian Ewins <Br...@btinternet.com>.
Ng Yan Tun, Van Sioung wrote:
> Hi guys,
> 
> This is the first time I am using Apache Axis. I have followed that 
> instruction on installlation.
> I am using Tomcat 3.2.

You might want to think about upgrading your tomcat. However: A common 
problem with Tomcat 3.2 is that it ships with a JAXP1.0 parser; you need 
to ensure that a JAXP1.1 parser such as Xerces (and yes I see this in 
your classpath) gets used instead. This is obviously not happening at 
present - the missing method is a DOM Level 2 addition, but the DOM Node 
class is being found, which suggests you have a DOM level 1 implementation.

The 'correct' way to change the classpath for a web application is not 
to alter the system classpath - which ends up having side effects on all 
applications - but to either bundle the jars with your web app (ie they 
go in %TOMCAT_HOME%\webapps\your_app\WEB-INF\lib ) or to add them to the 
  server.

In one of the directories in tomcat (from memory, %TOMCAT_HOME%\lib on 
TC3.2 - its %TOMCAT_HOME\common\lib on TC4) you'll find the libs that 
get placed in your apps classpath. In TC3.2 you'll find these:
jaxp.jar     (JAXP 1.0 API)
parser.jar   (Crimson parser, JAXP 1.0 compliant)

You want to /remove/ these two files and replace them with xerces. In 
the most recent xerces releases this involves adding two jars 
(xerces.jar and xml-apis.jar). Earlier releases have a single jar 
(xerces.jar), such as the one you got with axis.

Hope this helps.

-Baz