Integration Server 10.3 | Web Services Developer’s Guide | About Handlers and Handler Services | Registering a Handler
 
Registering a Handler
Register the handler as either a consumer or provider using pub.soap.handler:registerWmConsumer or pub.soap.handler:registerWmProvider, respectively. During registration you specify:
*A name for the handler.
*The services to use for handling headers for a request, a response, and a fault.
*Optionally, the list of QNames on which the handler operates.
Specify QNames only if you want to associate with handler with one or more QNames. Registering QNames with a handler provides the following benefits:
*Integration Server can perform mustUnderstand checking for the header with the QName at run time. If a service receives a SOAP message in which a header requires mustUnderstand processing by the recipient, Integration Server uses the header QName to locate the handler that processes the header. Note that the handler must be part of the handler chain for the web service descriptor that contains the service.
*When adding headers to a web service descriptor, Designer populates the list of IS document types that can be used as headers in the web service descriptor with the IS document types whose QNames were registered with the handlers already added to the web service descriptor. If you add a IS document type as a header to a web service descriptor and the QName of that IS document type is not associated with a handler, Designer adds the header but display a warning stating that there is not an associated handler.
*When consuming WSDL to create a provider or consumer web service descriptor, Integration Server automatically adds a handler to the resulting web service descriptor if the WSDL contains a QName supported by the handler.
Note:Integration Server stores information about registered header handlers in memory. Integration Server does not persist registered header handler information across restarts. Consequently, you must register header handlers each time Integration Server starts. To accomplish this, create a service that registers a handler and make that service a start up service for the package that contains the services that act as handlers.