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]>

Reply via email to