Apache-SOAP Version 2.3: 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.

If you are using at least fixpack 4, or have efix PQ47050 installed, then you need to add the following string to the command line arguments for each application server:
-classpath ....:xxx/xerces.jar...
Substitute the directory where you have stored the jar for the xxx. If you are using Windows, then use a semi-colon instead of a colon. Restart the server so that the classpath takes effect.

If you do not have the above fix installed then 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. In that case 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:

  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
  7. 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!