Working with Handlers
When working with web services on Integration Server, the SOAP body portion of the SOAP message contains the data representing the input and output signatures of the underlying SOAP operation. In typical processing, Integration Server converts the SOAP body between its XML representation in the SOAP message and the Document (IData) representation used within Integration Server automatically.
In addition to the data contained in the SOAP body, a SOAP message might contain data in the SOAP headers. The best way to access the SOAP headers is to use handlers. A handler, sometimes called a header handler, provides access to the entire SOAP message.
Handlers can be used to perform various types of processing, including processing SOAP headers, adding SOAP headers, removing SOAP headers, passing data from the header to the endpoint service or vice versa.
In Integration Server, a handler is a set of up to three handler services. The handler can contain one of each of the following handler services:
Request handler service
Response handler service
Fault handler service
For detailed information about request, response, or fault handler services, see Web Services Developer’s Guide.
Any IS service can be used as a handler service. However, handler services must use a specific service signature. Integration Server defines the service handler signature in the pub.soap.handler:handlerSpec specification. Integration Server also provides several services that you can use when creating handler services. These services are located in the pub.soap.handler folder in the WmPublic package.
When you register a handler, you name the handler, identify the services that function as the request, response or fault handler services, and indicate whether the handler is for use with provider web service descriptors or consumer web service descriptors.
You can assign multiple handlers to a web service descriptor. Designer displays the handlers on the Handlers tab. The collection of handlers assigned to a web service descriptor is called a handler chain. For a consumer web service descriptor, Integration Server executes the handler chain for output SOAP requests and inbound SOAP responses. For a provider web service descriptor, Integration Server executes the handler chain for inbound SOAP requests and outbound SOAP responses.
When executing the handler chain, Integration Server executes request handler services by working through the handler chain from top to bottom. However, Integration Server executes response handler services and fault handler services from bottom to top.
The order of handlers in the handler chain may be important, depending on what processing the handlers are performing.