Venkat, I'm new to Axis but the problem that you are experiencing sounds a lot like the problem that I was having earlier--the jar files that were placed in the WEB-INF\lib directory were being ignored. The problem proved to be associated with J2SDK 1.4. The solution is set the java.endorsed.dirs system property to include your jar file. I posted the following message earlier.
Anybody attempting to run Axis with J2SDK 1.4 will need to set the Java system property java.endorsed.dirs. "Note: The system property java.endorsed.dirs specifies one or more directories where the Java runtime environment searches for JAR files. You must set this system property only when running J2EE SDK 1.3.x on the J2SDK 1.4." The above quote was copied from the following link. http://developer.java.sun.com/developer/technicalArticles/WebServices/wsj2ee / Unfortunately, I did not see a similar comment in the Apache documentation. Certainly, it wasn't in the installation instructions. I set the java.endorsed.dirs system variable in the %CATALINA_HOME%\bin\setclasspath.bat file. Of course, UNIX users should use setclasspath.sh I hope that helps. Dan ----- Original Message ----- From: "Venkat Dokiparthi" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, April 23, 2002 9:12 AM Subject: problem loading class > Hi folks, > > We are having a problem loading the service class on Solaris with iPlanet > 6.0 web server and Servlet Exec 4.1 (servlet engine). This class is part of > a jar file placed in WEB-INF/lib directory. Regular servlet is able to find > this class but not AxisServlet. I see AxisClassLoader is extending java > ClassLoader, and in the constructor it does > super(Thread.currentThread().getContextClassLoader()). So if a thread from > a servlet engine doesn't set its context class loader, Axis is defaulting to > default classloader. I think it is a bug in Axis. Instead of using current > thread's context class loader, it should accept a parameter in the > constructor of a classloader. Whoever instantiating AxisClassLoader can > pass this argument, which could be the classloader of the class that is > instantiating the AxisClassLoader. > > Here are the errors we receive on the client: > > HTTP/1.1 500 Internal server error Server: Netscape-Enterprise/6.0 Date: > Mon, 22 Apr 2002 02:14:03 GMT Content-type: text/xml; charset=utf-8 > Content-length: 2615 <?xml version="1.0" encoding="UTF-8"?> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <soap:Body> > <soap:Fault> > <soap:faultcode > xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.userException</soap:fault > code> > <soap:faultstring>java.lang.ClassNotFoundException: > com.peregrine.arsys.ws.services.ARService</soap:faultstring> > <soap:detail> > <ns2:exceptionName > xmlns:ns2="http://xml.apache.org/axis/">java.lang.ClassNotFoundException</ns > 2:exceptionName> > <ns3:stackTrace > xmlns:ns3="http://xml.apache.org/axis/">java.lang.ClassNotFoundException: > com.peregrine.arsys.ws.services.ARService > at java.lang.ClassLoader.findClass(ClassLoader.java:348) > at java.lang.ClassLoader.loadClass(ClassLoader.java:299) > at java.lang.ClassLoader.loadClass(ClassLoader.java:255) > at > org.apache.axis.utils.AxisClassLoader.loadClass(AxisClassLoader.java:151) > at > org.apache.axis.utils.AxisClassLoader.lookup(AxisClassLoader.java:165) > at > org.apache.axis.providers.java.JavaProvider.getNewServiceObject(JavaProvider > .java:337) > at > org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.ja > va:117) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:216) > at > org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:253) > at org.apache.axis.server.AxisServer.invoke(AxisServer.java:288) > at > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:485) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java:1 > 582) > at > com.newatlanta.servletexec.SERequestDispatcher.forwardServlet(SERequestDispa > tcher.java:212) > at > com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispatcher.j > ava:134) > at > com.newatlanta.servletexec.ApplicationInfo.processApplRequest(ApplicationInf > o.java:1016) > at > com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHostInfo. > java:817) > at > com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1116) > at > com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:966) > at > com.newatlanta.servletexec.ServletExecService.processServletRequest(ServletE > xecService.java:165) > at > com.newatlanta.servletexec.ServletExecService.Run(ServletExecService.java:19 > 7) > at > com.newatlanta.servletexec.HttpServerRequest.run(HttpServerRequest.java:106) > </ns3:stackTrace> > </soap:detail> > </soap:Fault> > </soap:Body> > </soap:Envelope> > > Thanks, > Venkat > > Venkat Dokiparthi > Staff Product Developer > Peregrine Systems > 650-903-5294(pH) 650-919-5676(fax) > mailto:[EMAIL PROTECTED] > http://www.peregrine.com >
