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 org.apache.soap.server.http.RPCRouterServlet and /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 ------------------------------------------------------------------------------------------------------------------ Apache-SOAP no description rpcrouter Apache-SOAP RPC Router no description org.apache.soap.server.http.RPCRouterServlet faultListener org.apache.soap.server.DOMFaultListener messagerouter Apache-SOAP Message Router org.apache.soap.server.http.MessageRouterServlet faultListener org.apache.soap.server.DOMFaultListener rpcrouter /servlet/rpcrouter messagerouter /servlet/messagerouter ------------------------------------------------------------------------------------------------------------------------------- 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(""); out.println(""); out.println(""); out.println("" + "Request Parameters Example" + ""); out.println(""); out.println(""); out.println("

" + "Request Parameters Example" + "

"); //From textfelds in browser post the data to the server out.println("

"); out.print("

"); out.println("First Name"); //firstname is a parameter out.println(""); out.println("
"); out.println("Last Name"); out.println(""); out.println("
"); out.println(""); out.println("
"); 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: " + "
"); //Writing the values in the webbrowser if (firstName != null || lastName != null) { out.println("First Name: "); out.println(" = " + firstName + "
"); out.println("Last Name: "); out.println(" = " + lastName + "
"); } else { out.println("requestparams.no-params"); } out.println(""); out.println(""); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { System.out.println("doPost"); doGet(request, response); } } Best Feilong