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>