nagy        02/05/14 07:53:32

  Modified:    java/src/org/apache/soap/server/http
                        MessageRouterServlet.java RPCRouterServlet.java
  Log:
  Retrieve the classloader from the thread instead of the servlet class, since the one 
that loaded the servlet may not be the top level one.
  
  Revision  Changes    Path
  1.33      +15 -1     
xml-soap/java/src/org/apache/soap/server/http/MessageRouterServlet.java
  
  Index: MessageRouterServlet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-soap/java/src/org/apache/soap/server/http/MessageRouterServlet.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- MessageRouterServlet.java 7 May 2002 15:01:22 -0000       1.32
  +++ MessageRouterServlet.java 14 May 2002 14:53:32 -0000      1.33
  @@ -123,7 +123,21 @@
     private String configFilename = null;
   
     public void init() throws ServletException {
  -    ClassLoader servletClassLoader = getClass().getClassLoader();
  +    ClassLoader servletClassLoader =
  +      Thread.currentThread().getContextClassLoader();
  +    
  +    try
  +    {
  +      /*Make sure that we got a useful classloader; if we can not
  +     even load ourselves, then at least use the classloader that
  +     loaded us.*/
  +      servletClassLoader.loadClass(this.getClass().getName());
  +    }
  +    catch(ClassNotFoundException e)
  +    {
  +      servletClassLoader = getClass().getClassLoader();
  +    }
  +
       if (servletClassLoader == null)
       {
         /*This is needed because some containers use hashtable to store
  
  
  
  1.37      +15 -1     
xml-soap/java/src/org/apache/soap/server/http/RPCRouterServlet.java
  
  Index: RPCRouterServlet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-soap/java/src/org/apache/soap/server/http/RPCRouterServlet.java,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- RPCRouterServlet.java     7 May 2002 15:01:22 -0000       1.36
  +++ RPCRouterServlet.java     14 May 2002 14:53:32 -0000      1.37
  @@ -130,7 +130,21 @@
     private String configFilename = null;
   
     public void init() throws ServletException {
  -    ClassLoader servletClassLoader = getClass().getClassLoader();
  +    ClassLoader servletClassLoader =
  +      Thread.currentThread().getContextClassLoader();
  +    
  +    try
  +    {
  +      /*Make sure that we got a useful classloader; if we can not
  +     even load ourselves, then at least use the classloader that
  +     loaded us.*/
  +      servletClassLoader.loadClass(this.getClass().getName());
  +    }
  +    catch(ClassNotFoundException e)
  +    {
  +      servletClassLoader = getClass().getClassLoader();
  +    }
  +    
       if (servletClassLoader == null)
       {
         /*This is needed because some containers use hashtable to store
  
  
  


Reply via email to