Logo WHITE MESA SOFTWARE
Home   Download   Links   Documentation
 
 

How do I set up a SOAP RPC Service?

 
Setting up a SOAP service for RPC is not difficult, but requires that several key tasks be accomplished:
  • Installation of the COM server whose methods constitute the actual service.
  • Creation and deployment of the WSDL file describing the service.
  • Configuration of the White Mesa SOAP server to expose the service.

Since the purpose of the White Mesa SOAP server is to offer remote invocation of COM services via SOAP RPC, a COM server must exist to implement the service (if it is functioning as an endpoint). It may be an in-proc, local, or even a remote service. In any case, it must be properly registered. Take note of the Program ID of the COM server. This is used in configuring the SOAP Server to expose the service.

In order for the SOAP server and clients to utilize the service, a WSDL file must be created. It contains a description of the service so that clients and the server can properly construct messages for transmission and understand messages they recieve. If you are new to WSDL, it is recommended that you read the WSDL 1.1 Specification . The WSDL description of the service is an important and necessary component. It is here that you will document important details such as the methods exposed, their corresponding SOAPAction HTTP header values, their namespaces, and parameter type information. The URL of this file is another piece of information needed when configuring the SOAP Server to expose the service. Two URL 'schemes' are understood by the server and the C++ client side library: 'http://' and 'file://'.

In order for clients to avail themselves of the service, the SOAP server itself must be configured properly. The server listens for incoming SOAP calls and dispatches them based on their request URI, which is mapped to a SOAP service. The SOAP services are implemented by COM servers which are invoked by the SOAP server in response to these requests. Each service to be exposed requires a distinct URI, and the White Mesa SOAP server will support any number of such services. A service is configured via the 'Control Panel' application, in the 'SOAP Services' page. The following information is needed:

  • The request URI for the service.
  • The URL of the WSDL file containing the service desription.
  • The formal name of the service (as given in the WSDL file).
  • The formal name of the WSDL 'port' (also given in the WSDL file).
  • The Program ID of the COM server used to process the method calls.
  • The Program ID(s) of the COM server(s) used to process any SOAP Header blocks (if any).
  • The SOAP roles with which the service will be identified (if any).
  • The Next Hop URL assigned to the service if it is to function as an intermediary.
  • The Node URI, which is the absolute URI of the service endpoint, needed if the service is to function as an intermediary.

Once this is done, the SOAP server has the information it needs to respond to a SOAP request message invoking the service. The configuration information maps a request URI to a service name and port name. The service and port names are used to navigate the specified WSDL file to obtain the service description. The WSDL service description is needed by the SOAP server to properly invoke the supporting COM server. The identity of this COM server is also a part of the configuration information, given in the form of the 'ProgID'. If header processor Program IDs are supplied, the SOAP server will invoke them to handle SOAP header targeted at the service. If a Next Hop URL is specified, then the SOAP message will be forwarded to that destination after header processing.

Home   Download   Links   Documentation

Copyright © 2003 by Robert Cunnings.   cunnings@whitemesa.com  Last modified: Feb 2, 2003