You are correct that RPCRouterServlet is the servlet that is executed to
access an Apache SOAP service, although I don't know why you would need to
modify it.  When using HTTP as the transport, only the POST action is
supported, which is why you get the message from doGet.

Tomcat and Apache SOAP use J2EE standards (such as servlet API 2.2 and 2.3)
for installation, such as the directory structure of a web application and
use of web.xml to specify mappings.  It is within that file that the
RPCRouterServlet class is mapped to the rpcrouter servlet, which is in turn
mapped to the URL /servlet/rpcrouter.

The error you received, "java.lang.NoSuchMethodError:
javax/servlet/http/HttpServletRequest.getSession()" implies to me that your
proprietary container does not support the required getSession method of
HttpServletRequest.  This method was there as early as version 2.0 of the
servlet API.

Scott Nichol

----- Original Message -----
From: "Tatsuya Tsurukawa" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Tuesday, July 09, 2002 5:41 AM
Subject: How to run apache-soap on a servlet engine except Tomcat


> Hi All,
>
> I'm now trying to run apache-soap 2.2 on our proprietary servlet
> engine instead of Tomcat.
>
> I could successfully run it on RHL 7.2, JDK 1.3.1 and Tomcat 3.2.3.
>
> In case of using our servlet engine, I have to register a servlet
> to it in advance by its name. ex) "servlet-name". Then I can run
> it like http://path-to-server/servlet-name from Web browsers.
>
> As RPCRouterServlet is called eventually, I partly modified
> RPCRouterServlet.java and I could call it directly from Web
> browser like http://path-to-server/rpcrouter-name.
> Then doGet() was called and "Sorry, I don't speak via HTTP GET-
> you have to use HTTP POST to talk to me." message returned.
>
> I'm not sure about Tomcat's servlet calling mechanisms.
> Is it correct to call RPCRouterServlet directly like above ?
>
> In case of using Tomcat, I do it like
> http://path-to-server:8080/apache-soap/servlet/rpcrouter
>
> So I did as follows.
> 1) I registered virtual directory "/usr/soap-2_2/webapps/soap"
>    as "/apache-soap".
> 2) I registered soap.jar including RPCRouterServlet to our
>    servlet engine as "/apache-soap/servlet/rpcrouter".
> 3) I called http://path-to-server:8080/apache-soap/servlet/rpcrouter
>
> But I received follwing messages.
> java.lang.NoSuchMethodError:
javax/servlet/http/HttpServletRequest.getSession()
> Ljavax/servlet/http/HttpSession;
>         at
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:33
2)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:521)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
>         at melco.bundle.http.HttpConnection.run(HttpConnection.java:251)
>         at java.lang.Thread.run(Thread.java:328)
>
> I'm not sure, but I guess Apache-soap failed to find deployed services,
> and maybe I don't understand the meaning of
"/apache-soap/servlet/rpcrouter".
>
> Of cource it works fine in case of using Tomcat.
>
> I'm now in trouble because of my poor knowledge in Tomcat and Apache-SOAP.
>
> Does anybody know the correct way ? Any comments would be appreciated.
>
> Best regards,
> Tatsuya Tsurukawa
>
>
> ----
> Tatsuya   [EMAIL PROTECTED]
>
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to