You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@ws.apache.org by Tatsuya Tsurukawa <tu...@isl.melco.co.jp> on 2002/07/09 11:41:53 UTC

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:332)
        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   turukawa@isl.melco.co.jp

Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Yuji Sakata <ys...@rd.nttdata.co.jp>.
> Hi All,
> 
> I found our proprietary servlet engine supports Servlet API 2.0.> 
> Does anybody know what version's Apache SOAP should I use ?
> 

SOAP 2.2 documentation say as below

Apache SOAP has the following requirements:
Java 1.1 or higher, and a servlet engine supporting version 2.1 or 
higher of the Java Servlet API 
A JAXP compatible, namespace aware XML parser 
JavaMail (mail.jar) and the JavaBeans Activation Framework (activation.
jar) 
XMI encoding requires use of Java 1.2.2 and XML4J 2.0.15. Your classpath 
must have xerces.jar first and then xml4j.jar next in that order. 
Implementing services in scripting languages requires the use of Bean 
Scripting Framework. 
SSL (HTTPS) support requires Java 1.2.1 or later and the Java Secure 
Socket Extension. 
The SMTP transport requires the SMTP and POP3 Bean Suites. 

Besides, you can also ask Japanese SOAP-JP  Maling List about Apache 
SOAP if you want.
http://www.sarion.co.jp/ml/soap/

Regards,
----------------------------------------------
NTT Data Corp.
Yuji Sakata
Tel: 03-3523-8081
E-Mail: ysakata@rd.nttdata.co.jp
----------------------------------------------

Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Yuji Sakata <ys...@rd.nttdata.co.jp>.
> Hi All,
> 
> I found our proprietary servlet engine supports Servlet API 2.0.> 
> Does anybody know what version's Apache SOAP should I use ?
> 

SOAP 2.2 documentation say as below

Apache SOAP has the following requirements:
Java 1.1 or higher, and a servlet engine supporting version 2.1 or 
higher of the Java Servlet API 
A JAXP compatible, namespace aware XML parser 
JavaMail (mail.jar) and the JavaBeans Activation Framework (activation.
jar) 
XMI encoding requires use of Java 1.2.2 and XML4J 2.0.15. Your classpath 
must have xerces.jar first and then xml4j.jar next in that order. 
Implementing services in scripting languages requires the use of Bean 
Scripting Framework. 
SSL (HTTPS) support requires Java 1.2.1 or later and the Java Secure 
Socket Extension. 
The SMTP transport requires the SMTP and POP3 Bean Suites. 

Besides, you can also ask Japanese SOAP-JP  Maling List about Apache 
SOAP if you want.
http://www.sarion.co.jp/ml/soap/

Regards,
----------------------------------------------
NTT Data Corp.
Yuji Sakata
Tel: 03-3523-8081
E-Mail: ysakata@rd.nttdata.co.jp
----------------------------------------------

--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Tatsuya Tsurukawa <tu...@isl.melco.co.jp>.
Hi,

Although I think it is the corrct way to go along with Servlet API 2.0
compatible Apache SOAP, I still work with Apache SOAP 2.3.1 avoiding
problems step by step.

I'm also afraid that I can find it or not, because Apache SOAP expected
JSP from early versions and Servlet API 2.0 doesn't support JSP.

Anyway I'm now in the following trouble.

In ServerManager constructor, DocumentBuilder is declared as follows.
public class ServiceManager {
    :
  protected DocumentBuilder  xdb = XMLParserUtils.getXMLDocBuilder();
    :

and then I got follwing exception.
java.lang.NoClassDefFoundError: Ljavax/xml/parsers/DocumentBuilder;
although I have /usr/xerces-1.4.3/xerces.jar in my CLASSPATH.

I think it is not related the Servlet API compatibility problem.

In case of using tomcat-3.2.3 it doesn't appear.

Does anybody know the reason why such an error has been happened ?

Best regards,
Tatsuya Tsurukawa

Scott Nichol wrote:
>You might find that an earlier version of Apache SOAP works with your
>servlet container, so if you cannot change the container, try changing the
>SOAP version.
>
>Scott Nichol
>
>----- Original Message -----
>From: "Tatsuya Tsurukawa" <tu...@isl.melco.co.jp>
>To: <so...@xml.apache.org>
>Sent: Wednesday, July 10, 2002 3:49 AM
>Subject: Re: How to run apache-soap on a servlet engine except Tomcat
>
>
>> Hi All,
>>
>> I found our proprietary servlet engine supports Servlet API 2.0.
>>
>> Does anybody know what version's Apache SOAP should I use ?
>>
>> Regards,
>> Tatsuya Tsurukawa
>>
>> ----
>> Tatsuya   turukawa@isl.melco.co.jp
>>
>> --
>> To unsubscribe, e-mail:   <ma...@xml.apache.org>
>> For additional commands, e-mail: <ma...@xml.apache.org>
>>
>>
>
>
>--
>To unsubscribe, e-mail:   <ma...@xml.apache.org>
>For additional commands, e-mail: <ma...@xml.apache.org>
>

----
Tatsuya   turukawa@isl.melco.co.jp

Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Tatsuya Tsurukawa <tu...@isl.melco.co.jp>.
Hi,

Although I think it is the corrct way to go along with Servlet API 2.0
compatible Apache SOAP, I still work with Apache SOAP 2.3.1 avoiding
problems step by step.

I'm also afraid that I can find it or not, because Apache SOAP expected
JSP from early versions and Servlet API 2.0 doesn't support JSP.

Anyway I'm now in the following trouble.

In ServerManager constructor, DocumentBuilder is declared as follows.
public class ServiceManager {
    :
  protected DocumentBuilder  xdb = XMLParserUtils.getXMLDocBuilder();
    :

and then I got follwing exception.
java.lang.NoClassDefFoundError: Ljavax/xml/parsers/DocumentBuilder;
although I have /usr/xerces-1.4.3/xerces.jar in my CLASSPATH.

I think it is not related the Servlet API compatibility problem.

In case of using tomcat-3.2.3 it doesn't appear.

Does anybody know the reason why such an error has been happened ?

Best regards,
Tatsuya Tsurukawa

Scott Nichol wrote:
>You might find that an earlier version of Apache SOAP works with your
>servlet container, so if you cannot change the container, try changing the
>SOAP version.
>
>Scott Nichol
>
>----- Original Message -----
>From: "Tatsuya Tsurukawa" <tu...@isl.melco.co.jp>
>To: <so...@xml.apache.org>
>Sent: Wednesday, July 10, 2002 3:49 AM
>Subject: Re: How to run apache-soap on a servlet engine except Tomcat
>
>
>> Hi All,
>>
>> I found our proprietary servlet engine supports Servlet API 2.0.
>>
>> Does anybody know what version's Apache SOAP should I use ?
>>
>> Regards,
>> Tatsuya Tsurukawa
>>
>> ----
>> Tatsuya   turukawa@isl.melco.co.jp
>>
>> --
>> To unsubscribe, e-mail:   <ma...@xml.apache.org>
>> For additional commands, e-mail: <ma...@xml.apache.org>
>>
>>
>
>
>--
>To unsubscribe, e-mail:   <ma...@xml.apache.org>
>For additional commands, e-mail: <ma...@xml.apache.org>
>

----
Tatsuya   turukawa@isl.melco.co.jp

--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Scott Nichol <sn...@scottnichol.com>.
You might find that an earlier version of Apache SOAP works with your
servlet container, so if you cannot change the container, try changing the
SOAP version.

Scott Nichol

----- Original Message -----
From: "Tatsuya Tsurukawa" <tu...@isl.melco.co.jp>
To: <so...@xml.apache.org>
Sent: Wednesday, July 10, 2002 3:49 AM
Subject: Re: How to run apache-soap on a servlet engine except Tomcat


> Hi All,
>
> I found our proprietary servlet engine supports Servlet API 2.0.
>
> Does anybody know what version's Apache SOAP should I use ?
>
> Regards,
> Tatsuya Tsurukawa
>
> ----
> Tatsuya   turukawa@isl.melco.co.jp
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Scott Nichol <sn...@scottnichol.com>.
You might find that an earlier version of Apache SOAP works with your
servlet container, so if you cannot change the container, try changing the
SOAP version.

Scott Nichol

----- Original Message -----
From: "Tatsuya Tsurukawa" <tu...@isl.melco.co.jp>
To: <so...@xml.apache.org>
Sent: Wednesday, July 10, 2002 3:49 AM
Subject: Re: How to run apache-soap on a servlet engine except Tomcat


> Hi All,
>
> I found our proprietary servlet engine supports Servlet API 2.0.
>
> Does anybody know what version's Apache SOAP should I use ?
>
> Regards,
> Tatsuya Tsurukawa
>
> ----
> Tatsuya   turukawa@isl.melco.co.jp
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Tatsuya Tsurukawa <tu...@isl.melco.co.jp>.
Hi All,

I found our proprietary servlet engine supports Servlet API 2.0.

Does anybody know what version's Apache SOAP should I use ?

Regards,
Tatsuya Tsurukawa

----
Tatsuya   turukawa@isl.melco.co.jp

Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Tatsuya Tsurukawa <tu...@isl.melco.co.jp>.
Hi All,

I found our proprietary servlet engine supports Servlet API 2.0.

Does anybody know what version's Apache SOAP should I use ?

Regards,
Tatsuya Tsurukawa

----
Tatsuya   turukawa@isl.melco.co.jp

--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Tatsuya Tsurukawa <tu...@isl.melco.co.jp>.
Hi,

Thank you for your quick response.

I'd like to clarify some points again.

I think it is correct that I call RPCRouterServet directly. Is it right ?

I don't use configuration files like web.xml included in Tomcat. 
Are there any information does our servlet engine have to have in advance ? 
In other words I don't know why RPCRouterServlet can detect deployed apps
registered in DeployedServices.ds.

Scott Nichol wrote:
>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.

I partly modified RPCRouterServlet.java because our container loads servlets 
via OSGi I/F (See http://www.osgi.org).

>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" <tu...@isl.melco.co.jp>
>To: <so...@xml.apache.org>; <so...@xml.apache.org>
>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   turukawa@isl.melco.co.jp
>>
>> --
>> To unsubscribe, e-mail:   <ma...@xml.apache.org>
>> For additional commands, e-mail: <ma...@xml.apache.org>
>>
>>
>
>
>--
>To unsubscribe, e-mail:   <ma...@xml.apache.org>
>For additional commands, e-mail: <ma...@xml.apache.org>
>

Best regards,
Tatsuya Tsurukawa

----
Tatsuya   turukawa@isl.melco.co.jp

Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Tatsuya Tsurukawa <tu...@isl.melco.co.jp>.
Hi,

Thank you for your quick response.

I'd like to clarify some points again.

I think it is correct that I call RPCRouterServet directly. Is it right ?

I don't use configuration files like web.xml included in Tomcat. 
Are there any information does our servlet engine have to have in advance ? 
In other words I don't know why RPCRouterServlet can detect deployed apps
registered in DeployedServices.ds.

Scott Nichol wrote:
>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.

I partly modified RPCRouterServlet.java because our container loads servlets 
via OSGi I/F (See http://www.osgi.org).

>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" <tu...@isl.melco.co.jp>
>To: <so...@xml.apache.org>; <so...@xml.apache.org>
>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   turukawa@isl.melco.co.jp
>>
>> --
>> To unsubscribe, e-mail:   <ma...@xml.apache.org>
>> For additional commands, e-mail: <ma...@xml.apache.org>
>>
>>
>
>
>--
>To unsubscribe, e-mail:   <ma...@xml.apache.org>
>For additional commands, e-mail: <ma...@xml.apache.org>
>

Best regards,
Tatsuya Tsurukawa

----
Tatsuya   turukawa@isl.melco.co.jp

--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Scott Nichol <sn...@scottnichol.com>.
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" <tu...@isl.melco.co.jp>
To: <so...@xml.apache.org>; <so...@xml.apache.org>
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   turukawa@isl.melco.co.jp
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: How to run apache-soap on a servlet engine except Tomcat

Posted by Scott Nichol <sn...@scottnichol.com>.
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" <tu...@isl.melco.co.jp>
To: <so...@xml.apache.org>; <so...@xml.apache.org>
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   turukawa@isl.melco.co.jp
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>