> As to why the current thead contexts class loader was not 
> able to load axis
> classes in dynamo,  to tell you the truth it  was a bit 
> suprising to me
> also,  but  since presumably the classes which provide the 
> web service are
> deployed along with the AxisServlet class. calling new
> SomeAxisClass().getClass().getClassloader() should resonably 
> be able to
> access both axis classes and web service provider  classes in 
> a wide variety
> opf servlet containers since they are in the same set of jar files/ear
> file/war file. is this not the case in jrun. how do calls to 
> new  foo()
> work if it were not the case?

Actually, the question is precisely the reverse - i.e. I should be asking you that 
about Dynamo.

Here's JRun's classloader structure:

        System Classloader
                |
        Server Classloader
        /               \
   Webapp1 CL        Webapp2 CL

Axis gets loaded by the Server classloader, but the Webapp classloaders are the ones 
who have the WEB-INF/classes dirs on the classpath.  So clearly, all the classes 
loaded by the Server classloader are available in all the Webapps, but NOT vice versa. 
 And new Axis*().getClass().getClassLoader() will return the Server classloader for us.

Sooo... your turn. :)  How do you think this works in Dynamo such that the current 
thread's classloader can't find the classes in WEB-INF?  In other words - if a new 
Axis*() works for you, one would think the current WEB-INF (since that's where your 
axis.jar lives) would be somewhere in the classloader hierarchy starting at the 
current thread one.... no?

--Glen

Reply via email to