igors 02/02/27 09:19:49
Modified: java/src/org/apache/axis/transport/http AdminServlet.java
AxisServlet.java
Log:
To start AxisEngine consistently within any servlet context,
a static method getEngine(HttpServlet) is exposed on AxisServlet.
This method can be used by any servlet in a web application
to properly instantiate and share AxisServer in the context.
It is useful, for example, when a specific classloader has
to be configured and used when AxisServer starts.
Revision Changes Path
1.14 +3 -10
xml-axis/java/src/org/apache/axis/transport/http/AdminServlet.java
Index: AdminServlet.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/transport/http/AdminServlet.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- AdminServlet.java 14 Feb 2002 17:12:01 -0000 1.13
+++ AdminServlet.java 27 Feb 2002 17:19:48 -0000 1.14
@@ -59,6 +59,7 @@
import org.apache.axis.configuration.ServletEngineConfigurationFactory;
import org.apache.axis.server.AxisServer;
import org.apache.axis.utils.JavaUtils;
+import org.apache.axis.AxisFault;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -77,16 +78,8 @@
* @author Glen Daniels ([EMAIL PROTECTED])
*/
public class AdminServlet extends HttpServlet {
- public AxisServer getEngine() {
- ServletContext context = getServletContext();
- if (context.getAttribute("AxisEngine") == null) {
- EngineConfiguration config =
- (new ServletEngineConfigurationFactory(context)).
- getServerEngineConfig();
-
- context.setAttribute("AxisEngine", new AxisServer(config));
- }
- return (AxisServer)context.getAttribute("AxisEngine");
+ public AxisServer getEngine() throws AxisFault {
+ return AxisServlet.getEngine(this);
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
1.85 +11 -6
xml-axis/java/src/org/apache/axis/transport/http/AxisServlet.java
Index: AxisServlet.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/transport/http/AxisServlet.java,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -r1.84 -r1.85
--- AxisServlet.java 22 Feb 2002 23:39:46 -0000 1.84
+++ AxisServlet.java 27 Feb 2002 17:19:49 -0000 1.85
@@ -80,7 +80,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpUtils;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
@@ -159,10 +158,16 @@
jwsClassDir = context.getRealPath("/");
}
}
+
+ public AxisServer getEngine() throws AxisFault { return getEngine(this); }
- public AxisServer getEngine() throws AxisFault {
- ServletContext context = getServletContext();
-
+ /**
+ * This is a uniform method of initializing AxisServer in a servlet
+ * context.
+ */
+ static public AxisServer getEngine(HttpServlet servlet) throws AxisFault {
+ ServletContext context = servlet.getServletContext();
+
if (context.getAttribute("AxisEngine") == null) {
String webInfPath = context.getRealPath("/WEB-INF");
@@ -172,7 +177,7 @@
Map environment = new HashMap();
environment.put("servletContext", context);
- String attdir= getInitParameter("axis.attachments.Directory");
+ String attdir= servlet.getInitParameter("axis.attachments.Directory");
if(attdir != null) environment.put("axis.attachments.Directory",
attdir);
if(null != webInfPath){
environment.put("servlet.realpath", webInfPath + File.separator +
"attachments");
@@ -249,7 +254,7 @@
req.getRemoteAddr());
try {
- String url = HttpUtils.getRequestURL(req).toString();
+ String url = req.getRequestURL().toString();
msgContext.setProperty(MessageContext.TRANS_URL, url);