Apache-SOAP Version 2.1: Installing the Server-Side Under IBM WebSphere Advanced Edition

These instructions assume:

IMPORTANT: WebSphere comes with an XML parser (WebSphere\AppServer\lib\xml4j.jar) which uses DOM level 1 interfaces. Even if you put the Xerces 1.1.2's (or later) xerces.jar in your classpath, the wrong interfaces are found by any Java code running in WebSphere because WebSphere puts the user's classpath at the end. So, you must edit WebSphere\AppServer\bin\admin.config file and put xerces.jar at the BEGINNING of the com.ibm.ejs.sm.adminserver.classpath= variable

To set up a SOAP server:

  • From the WebSphere menu off of the NT Start menu:
    1. Launch "Start Admin Server" and wait until it completes.
    2. Launch "Administrator's Console".
  • From the Administrator's Console:
    1. Console/Tasks/Create Application Server
      1. Select Web Applications: You do not need Enterprise Beans for SOAP. Next
      2. Application Server Properties: set the Application Server Name to "SOAP" (or another name of your choice). Next
      3. Application Server Start Option: "Do not start the server automatically after creating it". Next
      4. Node Selection: select your node. Next
      5. Select Virtual Host: select "default_host". Next
      6. Servlet Engine Properties: take the defaults. Next
      7. Web Application Properties: Set the Web Application Web Path to "/soap". You can use any web path you like, including the WebSphere default of "/webapp/SoapWebApp", but using "/soap" keeps the URLs simple and is used in these instructions. Next
      8. Specify System Servlets: Enable JSP 1.0 or 1.1.
      9. Finish to create the SOAP Application Server.
    2. In the tree view, open the SoapWebApp, and select the Advanced tab:
      1. Change Document Root to "C:\install-dir\soap-2_0\webapps\soap".
      2. Set the classpath to
        • C:\XML\apache\soap-2_0\lib\soap.jar
        • C:\XML\apache\soap-2_0
        • C:\tools\BSF\lib\bsf.jar
        • C:\tools\BSF\lib\bsfengines.jar
        • C:\Tools\Rhino\js.jar
        • C:\Tools\Rhino\jstools.jar
        • your SOAP server classes, if any
    3. Console/Tasks/Add a Servlet
      1. Servlet: "No". Do not start the server automatically after creating it. Next
      2. Servlet: Select the "SOAPWebApp" web app to contain the servlet. Next
      3. Servlet: Select "create user-defined servlet". Next
      4. Servlet:
        1. Set the servlet name to "rpcrouter"
        2. Set the servlet class name to "org.apache.soap.server.http.RPCRouterServlet".
        3. Add "default_host/soap/servlet/rpcrouter" to the servlet web path list. Note that you only need to type "servlet/rpcrouter" on the dialog that pops up.
        Next
      5. Servlet: Take the defaults.
      6. Finish
    4. Start the "SOAP" Server
  • You can list and deploy SOAP services by pointing a browser to

    http://hostname:port/soap/admin

    Alternatively, you can deploy services by setting up your classpath and using

    java org.apache.soap.server.ServiceManagerClient 
         http://hostname:port/soap/servlet/rpcrouter 
         deploy <DeploymentDescriptor.xml>
    

    See the User's Guide for details on the aministration tool. The SOAP end-point for invoking services on this server is:

    http://hostname:port/soap/servlet/rpcrouter

    Happy SOAP-ing!