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
>

Reply via email to