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