Configuring a service requester for Web service transactions

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.

  1. 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.
  2. 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.

  3. Start of changeIf 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.

    End of change