nagy 02/05/06 07:42:14
Modified: java/src/org/apache/soap/server/http
MessageRouterServlet.java RPCRouterServlet.java
Log:
Fixed problem of attempting to store null as the classloader in the servlet
attributes. For more info, see:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2481
Submitted by: Simon Alford ([EMAIL PROTECTED])
Reviewed by: Bill Nagy ([EMAIL PROTECTED])
Revision Changes Path
1.31 +8 -0
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.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- MessageRouterServlet.java 2 May 2002 18:43:30 -0000 1.30
+++ MessageRouterServlet.java 6 May 2002 14:42:14 -0000 1.31
@@ -107,6 +107,14 @@
public void init() throws ServletException {
ClassLoader servletClassLoader = getClass().getClassLoader();
+ if (servletClassLoader == null)
+ {
+ /*This is needed because some containers use hashtable to store
+ servlet attributes and therefore they can't be null.
+ If Class.forName is passed in null as the classloader, then it
+ seems to default to the system class loader, so this should be ok.*/
+ servletClassLoader = ClassLoader.getSystemClassLoader();
+ }
ServletConfig servletConfig = getServletConfig();
ServletContext servletContext = servletConfig.getServletContext();
String envelopeEditorFactoryClassName =
1.35 +9 -0
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.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- RPCRouterServlet.java 2 May 2002 18:43:30 -0000 1.34
+++ RPCRouterServlet.java 6 May 2002 14:42:14 -0000 1.35
@@ -114,10 +114,19 @@
public void init() throws ServletException {
ClassLoader servletClassLoader = getClass().getClassLoader();
+ if (servletClassLoader == null)
+ {
+ /*This is needed because some containers use hashtable to store
+ servlet attributes and therefore they can't be null.
+ If Class.forName is passed in null as the classloader, then it
+ seems to default to the system class loader, so this should be ok.*/
+ servletClassLoader = ClassLoader.getSystemClassLoader();
+ }
ServletConfig servletConfig = getServletConfig();
ServletContext servletContext = servletConfig.getServletContext();
String envelopeEditorFactoryClassName =
servletConfig.getInitParameter(Constants.ENVELOPE_EDITOR_FACTORY);
+
// Is there an envelope editory factory?
if (envelopeEditorFactoryClassName != null) {