Inbound request processing IBM-CICS

The figure shows the processing that occurs when a service requester sends a SOAP message over HTTP to a service provider application running in a CICS region

Web service run-time service provider processing

Web service run-time service provider processing

The CICS-supplied sockets listener transaction (CSOL) monitors the port specified in the CPIPSERVICE resource definition for incoming HTTP requests.

When the SOAP message arrives, CSOL attaches the transaction specified in the TRANSACTION attribute of the TCPIPSERVICE definition. This will, by default be the CICS-supplied Web attach transaction CWXN.

CWXN finds the URI in the HTTP request and then scans the URIMAP resource definitions for a URIMAP that has its USAGE attribute set to PIPELINE and its PATHattribute set to the URI found in the HTTP request. If CWXN finds such a URIMAP, it uses the PIPELINE and WEBSERVICE attributes of the URIMAP definition to get the name of the PIPELINE and WEBSERVICE definitions, which it uses to process the incoming request.

CWXN also uses the TRANSACTION attribute of the URIMAP definition to determine the name of the transaction that it should attach, to process the pipeline. By default this is the CPIH transaction

CPIH starts the pipeline processing. It uses the PIPELINE definition to find the name of the pipeline configuration file and then determines which message handler programs and SOAP header processing programs to invoke.

A message handler in the pipeline (typically a CICS-supplied SOAP message handler) removes the SOAP envelope from the inbound request and passes the SOAP body to the data mapper function.

CICS uses the DFHWS-WEBSERVICE container to pass the name of the required WEBSERVICE definition to the data mapper. The data mapper uses the WEBSERVICE definition to locate the main storage control blocks that it needs to map the inbound service request (XML) to a COMMAREA or a container.

The data mapper links to the target service provider application program, providing it with input in the form that it expects. The application program is not aware that it is being executed as a Web service. The program performs its normal processing and then returns an output COMMAREA or container to the data mapper. The output data from the CICS application program cannot just be sent back to the pipeline code. The data mapper must first convert the output from the COMMAREA or container format into a SOAP body.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status