If a service requester application is to participate in Web service
transactions, the pipeline configuration file must specify a <headerprogram> and
a <service_parameter_list>.
In order that your service requester application can participate in
Web service transactions, it must use SOAP protocols to communicate with the
service provider, and your pipeline must be configured to use one of the CICS-provided
SOAP message handlers. Even if you have configured your service requester
application correctly, it will only participate in Web service transactions
with the service provider if the provider application has been set up to participate.
In addition to the pipeline configuration information that is specific
to your application, the configuration file must contain information which CICS® uses
to ensure that your application participates in Web service transactions.
CICS provides
an example of a pipeline configuration file containing this information in
file /usr/lpp/cicsts/cicsts31/samples/pipelines/wsatrequester.xml.
- Code a <headerprogram> element in the <cics_soap_1.1_handler> or <cics_soap_1.2_handler> element. Code the <program_name>, <namespace>, <localname>,
and <mandatory> elements exactly as shown in the example
below. For example:
<cics_soap_1.1_handler>
<headerprogram>
<program_name>DFHWSATH</program_name>
<namespace>http://schemas.xmlsoap.org/ws/2004/10/wscoor</namespace>
<localname>CoordinationContext</localname>
<mandatory>true</mandatory>
</headerprogram>
</cics_soap_1.1_handler>
You can include other <headerprogram> elements
if your application needs them.
- Code a <registration_service_endpoint> element
in a <service_parameter_list>. Code the <registration_service_endpoint> as
follows:
<registration_service_endpoint>
http://address:port/cicswsat/RegistrationService
</registration_service_endpoint>
where- address is the IP address of the CICS region
where the registration service provider pipeline is installed.
- port is the port number used by the
registration service provider pipeline.
There must be no space between the start the <registration_service_endpoint> element,
its contents, and the end of the <registration_service_endpoint> element.
Spaces have been included in this example for clarity.
If you want CICS to create a new transactional context
for each request, rather than using the same one for requests in the same
unit of work, add the empty element, <new_tx_context_required/>,
in a <service_parameter_list> to your pipeline configuration
file: <service_parameter_list>
<registration_service_endpoint>
http://requester.example.com:7159/cicswsat/RegistrationService
</registration_service_endpoint>
<new_tx_context_required/>
</service_parameter_list>
There must be no space between the start the <registration_service_endpoint> element,
its contents, and the end of the <registration_service_endpoint> element.
Spaces have been included in this example for clarity.The <new_tx_context_required/> setting
is not the default for CICS, and is not included in the example pipeline configuration
file, wsatprovider.xml. If you add <new_tx_context_required/> in
a <service_parameter_list> to your pipeline configuration
file, loopback calls to CICS are allowed, so be aware that a deadlock might
occur in this situation.
