DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8423>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8423

AxisClassLoader cannot load service class

           Summary: AxisClassLoader cannot load service class
           Product: Axis
           Version: beta-1
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Basic Architecture
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


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>

Reply via email to