Dynamic routing of inbound requests in a terminal handler

When the terminal handler of a service provider pipeline is one of the CICS-supplied SOAP message handlers, the target application program specified in container DFHWS-APPHANDLER is, in some cases, eligible for dynamic routing.

The transaction that runs the target application program is eligible for routing when one of the following is true:
  • The target program is defined as DYNAMIC. For applications deployed with the CICS® Web services assistant, the target program is DFHPITP
  • A program in the pipeline has changed the contents of container DFHWS-USERID from its initial value
  • A program in the pipeline has changed the contents of container DFHWS-TRANID from its initial value.
In addition, the CICS region that you are routing to must support channels and containers.

The routing will only take place if the TRANSACTION definition for the transaction named in DFHWS-TRANID specifies one of the following sets of attributes:

DYNAMIC(YES)
The transaction is routed using the distributed routing model, in which the routing program is specified in the DSRTPGM system initialization parameter.
DYNAMIC(NO)
REMOTESYSTEM(sysid)
The transaction is routed to the system identified by sysid.

For more information, see Routing inbound Web service requests.

For applications deployed with the CICS Web services assistant, there is a second opportunity to dynamically route the request, at the point where CICS links to the user's program. At this point, the request is routed using the dynamic routing model, in which the routing program is specified in the DTRPGM system initialization parameter. Eligibility for routing is determined, in this case, by the characteristics of the program. If you are using a channel and containers when linking to the program, you can only dynamically route the request to CICS regions that are at 3.1 or higher. If you are using a COMMAREA, this restriction does not apply.

For more information, see Routing DPL requests dynamically.