SOAP messages and the application data structure

In many cases, the CICS® Web services assistant can generate the code to transform the data between a high level data structure used in an application program, and the contents of the <Body> element of a SOAP message. In these cases, when you write your application program, you do not need to parse or construct the SOAP body; CICS will do this for you.

In order to transform the data, CICS needs information, at run time, about the application data structure, and about the format of the SOAP messages. This information is held in two files: Figure 1 shows where these files are used in a service provider.
Figure 1. Mapping the SOAP body to the application data structure in a service providerA service requester is connected to CICS Transaction Server. A data mapper component between the pipeline and the application program uses a Web service description and a Web service binding file to map the SOAP body to an application data structure.
A message handler in the pipeline (typically, a CICS-supplied SOAP message handler) removes the SOAP envelope from an inbound request, and passes the SOAP body to the data mapper function. This uses the Web service binding file to map the contents of the SOAP body to the application's data structure. If full validation of the SOAP message is active, then the SOAP body is validated against the Web service description. If there is an outbound response, the process is reversed.
Figure 2 shows where these files are used in a service requester.
Figure 2. Mapping the SOAP body to the application data structure in a service requesterCICS Transaction Server is connected to a service provider. A data mapper component between the pipeline and the application program uses a Webservice description and a Web service binding file to map the SOAP body to an application data structure.
For an outbound request, the data mapper function constructs a SOAP body from the application's data structure, using information from the Web service binding file. A message handler in the pipeline (typically, a CICS-supplied SOAP message handler) adds the SOAP envelope. If there is an inbound response, the process is reversed. If full validation of the SOAP message is active, then the inbound SOAP body is validated against the Web service description.

In both cases, the execution environment that allows a particular CICS application program to operate in a Web services setting is defined by three objects. These are the pipeline, the Web service binding file, and the Web service description. The three objects are defined to CICS as attributes of the WEBSERVICE resource definition.

There are some situations in which, even though you are using SOAP messages, you cannot use the transformation that the CICS Web services assistant generates: