Hallo all,
I wrote a servlet example under Tomcat early. Now I want to run it with Soap.
How can I convert this servlet under HTTP into SOAP, i.e how can write a client and server programs?
I installed Tomcat und apache-soap 2.3.1. It works.
Another question: can I change the predefinded web.xml under \jakarta-tomcat-4.1.30\webapps\soap\WEB-INF,
if I want to call another url also with soap protocol for instance http://localhost:8080/Wins/RequestParamExample3.
I tried to change the servlet name and servlet mapping in web.xml under soap. For example replace <servlet-class> org.apache.soap.server.http.RPCRouterServlet
and <servlet-mapping> /servlet/rpcrouter. But everytime after editing the tomcat server can't run.
Why servlet in Tomcat without soap can call arbitrary URL, only you should put your java class in webapps/your-Servletname/WEB-INF/classes
and edit your web.xml to set the servlet name and servlet class and mapping. Why is the url in soap web-application in client program always http://localhost:8080/soap/servlet/rpcrouter.
The following is web.xml under webapps\soap\WEB-INF and my sevlet program RequestParamExample3.java
------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
 
<web-app>
  <display-name>Apache-SOAP</display-name>
  <description>no description</description>
  <servlet>
    <servlet-name>rpcrouter</servlet-name>
    <display-name>Apache-SOAP RPC Router</display-name>
    <description>no description</description>
    <servlet-class>org.apache.soap.server.http.RPCRouterServlet</servlet-class>
    <init-param>
      <param-name>faultListener</param-name>
      <param-value>org.apache.soap.server.DOMFaultListener</param-value>
    </init-param>
  </servlet>
 
  <servlet>
    <servlet-name>messagerouter</servlet-name>
    <display-name>Apache-SOAP Message Router</display-name>
    <servlet-class>org.apache.soap.server.http.MessageRouterServlet</servlet-class>
    <init-param>
      <param-name>faultListener</param-name>
      <param-value>org.apache.soap.server.DOMFaultListener</param-value>
    </init-param>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>rpcrouter</servlet-name>
    <url-pattern>/servlet/rpcrouter</url-pattern>
  </servlet-mapping>
 
  <servlet-mapping>
    <servlet-name>messagerouter</servlet-name>
    <url-pattern>/servlet/messagerouter</url-pattern>
  </servlet-mapping>
</web-app>
-------------------------------------------------------------------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
import javax.servlet.http.*;
 
import util.HTMLFilter;
 
public class RequestParamExample3 extends HttpServlet {
  

  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException
  {
    System.out.println("doGet");
    response.setContentType("text/html");
 
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<head>");
 
    out.println("<title>" + "Request Parameters Example" + "</title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");
 

    out.println("<h3>" + "Request Parameters Example" + "</h3>");
 
    //From textfelds in browser post the data to the server
   out.println("<P>");
   out.print("<form action="">   out.println("method=POST>");
   out.println("First Name");
   //firstname is a parameter
   out.println("<input type=text size=20 name=firstname value=Xu>");
   out.println("<br>");
   out.println("Last Name");
   out.println("<input type=text size=20 name=lastname value=Yuming>");
   out.println("<br>");
   out.println("<input type=submit>");
   out.println("</form>");
 
        if(request == null) System.out.println("Get request is null.");
 
    String firstName = request.getParameter("firstname");
    System.out.println("firstname = " + firstName);
    String lastName = request.getParameter("lastname");
    System.out.println("lastName = " + lastName);
    out.println("Parameters in this request: " + "<br>");
    //Writing the values in the webbrowser
    if (firstName != null || lastName != null) {
      out.println("First Name: ");
      out.println(" = " + firstName + "<br>");
 
      out.println("Last Name: ");
 
      out.println(" = " + lastName + "<br>");
 
    }
    else {
      out.println("requestparams.no-params");
    }
 
    out.println("</body>");
    out.println("</html>");
  }
 
  public void doPost(HttpServletRequest request,
                     HttpServletResponse response)
      throws IOException, ServletException
  {
    System.out.println("doPost");
    doGet(request, response);
  }
 
}
 
 
Best
Feilong
 

Reply via email to