I'm experiencing difficulties in using Axis with application servers (in
this case Orion), but I believe the problems will occur in other appservers
as well (I've seen e-mails on this list regarding the use of Axis in
Tomcat).

The following is the stack-trace:

500 Internal Server Error
java.lang.NoClassDefFoundError: org/apache/axis/client/Service
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:195)
 at com.evermind[Orion/1.5.4 (build 10585)]._kn.findClass(.:19)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
 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:211)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
 at com.evermind[Orion/1.5.4 (build 10585)]._deb._lnc(.:514)
 at com.evermind[Orion/1.5.4 (build 10585)]._deb._wmb(.:170)
 at com.evermind[Orion/1.5.4 (build 10585)]._co._wbb(.:581)
 at com.evermind[Orion/1.5.4 (build 10585)]._co._fs(.:189)
 at com.evermind[Orion/1.5.4 (build 10585)]._bt.run(.:62)

For Tomcat, the workaround is to put the axis.jar in the system classpath,
but that does not work for Orion (and is a bad fix IMHO).

As you can see, some classes of axis.jar can be found (AxisServlet, etc). It
looks like Axis is using its own ClassLoader, which interferes with the
classloader used by Orion. I read in the source that the classloader is used
to dynamically reload .JWS files. My question is this: can we disable the
use of that classloader for all 'normal' services (i.e. non .JWS) ? Or
perhaps even better: can we fix the Axis classloader, so that it delegates
the classloading to it's parent classloader ?


With kind regards,

Barry Lagerweij

Reply via email to