For a Tomcat 4 installation, you should not touch Tomcat's classpath. Starting with a clean Tomcat installation, you just copy soap.war into %CATALINA_HOME%\webapps. That's it. Your services classes/jars can then either be put into %CATALINA_HOME%\webapps\soap\WEB-INF\[lib|classes] or %CATALINA_HOME%\[lib|classes].
See http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-soap/java/docs/install/ tomcat.html?rev=1.13 for Apache SOAP installation and http://jakarta.apache.org/tomcat/tomcat-4.0-doc/class-loader-howto.html for information about Tomcat's class loader. Scott Nichol ----- Original Message ----- From: "Jorge Cambra" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, October 10, 2002 6:55 AM Subject: Problems changing from Tomcat 3.2.2 to Tomcat 4.0.5 > > Hello, > > I have programmed some web services that run okay in my Tomcat 3.2.2. > Then, I have installed in a different directory Tomcat 4.0.5 and installed > everything to get my services working exactly with the same configuration > that with my Tomcat 3.2.2 (same libraries, same classpath, ...). SOAP seems > to work fine, because some of the soap samples work fine, but not my > application. I'm using SOAP v2.3.1. > > In my Tomcat 4.0.5 I changed the setclasspath.bat file to modify the > Tomcat classpath like: > > set > APP_LIBS=%BASEDIR%\common\lib\app\soap-services.jar;%BASEDIR%\common\lib \app\utilCore.jar;%BASEDIR%\common\lib\app\coreCommon.jar > set > SOAP_LIBS=%BASEDIR%\common\lib\ext\xerces.jar;%BASEDIR%\common\lib\ext\a ctivation.jar;%BASEDIR%\common\lib\ext\mail.jar > set CLASSPATH=%SOAP_LIBS%;%APP_LIBS%;%JAVA_HOME%\lib\tools.jar > > > Then, from the client that invokes the services I get the following error: > > Executing service... > CALL before the call...[Header=null] > [methodName=consultaPeticionManosEnviadas] > [targetObjectURI=urn:ServiciosManosPruebaEjemplo] > [encodingStyleURI=http://schemas.xmlsoap.org/soap/encoding/] > [SOAPContext=[Parts={}]] [Params={[[name=container] [type=class > javax.activation.DataHandler] [value=javax.activation.DataHandler@65855a] > [encodingStyleURI=null]]}] > > After the call: [Header=null] [methodName=null] [targetObjectURI=null] > [encodingStyleURI=null] [SOAPContext=[Parts={[cid:null type: text/xml; > charset=utf-8enc: null]}]] [fault=[Attributes={}] > [faultCode=SOAP-ENV:Server] [faultString=Exception from service object: > org/apache/soap/util/mime/ByteArrayDataSource] > [faultActorURI=/soap/servlet/rpcrouter] [DetailEntries=] [FaultEntries=]] > [Params={}] > There was an error: [Attributes={}] [faultCode=SOAP-ENV:Server] > [faultString=Exception from service object: > org/apache/soap/util/mime/ByteArrayDataSource] > [faultActorURI=/soap/servlet/rpcrouter] [DetailEntries=] [FaultEntries=] > Exception in thread "main" java.lang.NullPointerException > at > empresa.manosPrueba.soap.services.ClienteSOAPEjemplo.main(ClienteSOAPEje mplo.java:145) > > > I'm using a service that returns text information in a DataHandler. The > service fails aroud the code lines: > > DataSource ds = new ByteArrayDataSource(textInformation, "text/xml"); > DataHandler dh = new DataHandler(ds); > return dh; > > Because of the fault string > (org/apache/soap/util/mime/ByteArrayDataSource) I tried to add soap.jar to > the Tomcat 4.0.5 classpath, and then the rpcrouter servlet stops working. > > Does anybody have any idea of why my application that works fine with > Tomcat 3.2.2 doesn't work with Tomcat 4.0.5? > > Do I have to include soap.jar in the web application classpath? > Any help would be really appreciated. > Jorge > > The servlet exception is: > > type Exception report > > message Internal Server Error > > description The server encountered an internal error (Internal Server Error) > that prevented it from fulfilling this request. > > exception > > javax.servlet.ServletException: Error allocating a servlet instance > at > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:6 59) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:214) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:190) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234 7) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:564) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:564) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468 ) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:564) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:174) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j ava:1027) > at > org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java: 1125) > at java.lang.Thread.run(Thread.java:484) > > > root cause > > java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet > at java.lang.ClassLoader.defineClass0(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:486) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:248) > at java.net.URLClassLoader.access$100(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:297) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286) > at java.lang.ClassLoader.loadClass(ClassLoader.java:253) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1320) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1254) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav a:867) > at > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:6 55) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:214) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:190) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234 7) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:564) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:564) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468 ) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:564) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:174) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja va:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 72) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j ava:1027) > at > org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java: 1125) > at java.lang.Thread.run(Thread.java:484) > > > > > _________________________________________________________________ > Charle con sus amigos online usando MSN Messenger: http://messenger.msn.com > > > -- > 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]>