Thread management for callout messages retrieval

SOAP Gateway uses one callout thread per tpipe to send the requests to poll the hold queue for callout request messages.

When SOAP Gateway starts, it scans through the callout correlator files for connection bundle information, and identifies the tpipes that are defined in those callout connection bundles. SOAP Gateway then creates one thread per tpipe that is defined in the connection bundle or bundles. Identical tpipe names within a connection bundle are ignored and treated as the same tpipe. Identical tpipe names across connection bundles are valid.

All messages that are queued to a tpipe are retrieved until no more messages are available on the queue. The appropriate web service is invoked for each message that is retrieved.

This flow is repeated in all threads for each tpipe in all connection bundles.

Configuration and design considerations

The following considerations apply when you are configuring SOAP Gateway for thread management:

  • Do not use the same tpipe for callout requests and for regular asynchronous output messages.
  • Keep synchronous and asynchronous callout messages on different tpipes unless the configuration of your environment or the design of your applications requires that they share the same tpipe.
  • You must use the OTMA destination descriptor for callout requests from IMS.
  • A separate OTMA destination descriptor definition is required for each web service operation destination (one for each converter) if you are using the IMS Connect XML adapter function.
  • To achieve high availability, multiple instances of SOAP Gateway servers can be configured to pull messages out of the same tpipes.
  • After the callout threads are stopped and then restarted (or the server is stopped and restarted without using the graceful shutdown option), the first synchronous callout request on each tpipe to SOAP Gateway is returned to OTMA with a NAK response. Subsequent synchronous callout requests are processed normally.