I consider the classpath issues to be problems related to Java and servlet container implementations, not Apache SOAP. The class loader requirements in more recent servlet specs have greatly improved things.
You do not need to copy soap.jar anywhere. Step 1 under Apache SOAP Client (http://www.scottnichol.com/apachesoapinstall.htm#apachesoapclient) specifies soap.jar in the classpath. This soap.jar is installed when you unzip the Apache SOAP binary distribution. I presume your use of classpath.bat is to set the classpath as I specify in that step. The server side class files for applications should *never* be in the %CATALINA_HOME%\classes directory. The newer servlet specs tell you that your web applications have a WEB-INF directory, under which there are lib and classes directories for the jar and class files for your application. If you copy class or jar files anywhere else, you may destabilize other applications running in the container, or the container itself. You claim "I tried exactly the steps but did not work". The exact steps worked for me, and they have worked for others. You must remember that, for example, if you have already installed Tomcat and copied any class or jar files into directories other than for web applications, you are not following the steps exactly. Scott Nichol ----- Original Message ----- From: "Ram Srinivasan" <[EMAIL PROTECTED]> To: "Scott Nichol" <[EMAIL PROTECTED]> Sent: Monday, June 24, 2002 11:30 PM Subject: RE: SOAP app question > Hello Scott: > > Good web site. I tried exactly the steps but did not work. I think this > classpath parameter is the killing thing in the whole SOAP application. I > see that so many people have wasted a ton of hours on problems with root > cause being classpath. I wish it can be better. > > As for your steps, you did not mention that soap.jar file needs to be > copied. Without that the client side steps would not work. Moreover to run > the application I had to create a classpath.bat file wherein I put the files > you mention. In addition, I think the server side class file of any > application needs to be under %CATALINA_HOME%\classes directory. Otherwise > the application was not working at all. With that our Hello function worked > between a client and a server on two different machines. Yet, I could not > make the SOAP samples like GetQuote working. It is driving us crazy. I see > that many others used the same term for their frustration! > > Any help or light you could throw on that will be of great help. Thanks. > > Ram Srinivasan > 408-830-0333 > > > -----Original Message----- > From: Scott Nichol [mailto:[EMAIL PROTECTED]] > Sent: Monday, June 24, 2002 1:45 PM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Re: SOAP app question > > With Tomcat 4.x, you do not need to make any changes to the classpath or > startup scripts for Tomcat. You merely deploy Apache SOAP as a Web > application. See, for example, > http://www.scottnichol.com/apachesoapinstall.htm. > > Scott Nichol > > ----- Original Message ----- > From: "FitMe Marketing" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Monday, June 24, 2002 1:05 AM > Subject: SOAP app question > > > > Hi: > > > > We recently downloaded Tomcat 4.0.4 and SOAP 2.3 on a Win2K server. We > > modified the catalina.bat file to reflect the fact that we needed a JAXP > > compatible XML parser first in the classpath. > > > > *** > > set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar > > set > > CLASSPATH=path-to-xerces/%CATALINA_HOME%\common\lib\xerces.jar;%CLASSPATH% > > **** > > > > We also created a classpath.bat file which we run before starting the > Tomcat > > server. It has the following content. > > > > **** > > set CATALINA_HOME=c:\tomcat > > echo %CATALINA_HOME% > > set > > > classpath=%CATALINA_HOME%\common\lib\xerces.jar;%CATALINA_HOME%\lib\soap.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\mail.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\activation.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\naming-common.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\naming-resources.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\servlet.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\jndi.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\jdbc2_0-stdext.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\jta-spec1_0_1.jar > > set classpath=%classpath%;%CATALINA_HOME%\common\lib\tyrex-0.9.7.0 > > set classpath=%classpath%;%CATALINA_HOME%\classes > > **** > > > > When we try to run the SOAP sample application (GetQuote) we get the > > following error: > > > > Exception in thread "main" java.lang.NoClassDefFoundError: > > samples/stockquote/GetQuote > > > > I use a testit.cmd file to test the application. Its content is given > below. > > **** > > @echo off > > echo This test assumes a server URL of > > http://localhost:8080/soap/servlet/rpcrouter > > echo Deploying the stockquote service... > > java org.apache.soap.server.ServiceManagerClient > > http://localhost:8080/soap/servlet/rpcrouter deploy > DeploymentDescriptor.xml > > echo . > > echo Verify that it's there > > java org.apache.soap.server.ServiceManagerClient > > http://localhost:8080/soap/servlet/rpcrouter list > > echo . > > echo Running the stockquote test > > java samples.stockquote.GetQuote > > http://localhost:8080/soap/servlet/rpcrouter IBM > > echo . > > echo Undeploy it now > > java org.apache.soap.server.ServiceManagerClient > > http://localhost:8080/soap/servlet/rpcrouter undeploy > > urn:xmltoday-delayed-quotes > > echo . > > echo Verify that it's gone > > java org.apache.soap.server.ServiceManagerClient > > http://localhost:8080/soap/servlet/rpcrouter list > > *** > > > > Appreciate your help very much. Much time has been wasted trying to figure > > out the problem. Thanks. > > > > Ram Srinivasan > > FitMe > > > > > > -- > > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>