Configuring a requester pipeline for Web Services Addressing

To configure a requester pipeline to support Web Services Addressing (WS-Addressing), you must add an addressing handler to your pipeline configuration file.

Before you begin

You must identify or create the pipeline configuration file to add the configuration information for WS-Addressing. You must also decide which of the WS-Addressing specifications to use. Use the W3C WS-Addressing 1.0 Core specification where possible.

About this task

You can add support for WS-Addressing in one of two ways:
  • If the SOAP pipeline uses Java™, the SOAP processing is handled by Axis2 and you can use the support provided by this technology to handle requests that use WS-Addressing. All of the header handling is handled by Axis2 and it is important that you do not add the DFHWSADH header processing program to the pipeline. You can use your own header processing programs. For better performance, write Axis2 handlers in Java if you want to process SOAP headers.
  • If the SOAP pipeline does not use Java, you must add the CICS®-supplied header processing program DFHWSADH to handle the requests.

Procedure

  • If the SOAP pipeline uses a <cics_soap_1.1_handler_java> or <cics_soap_1.2_handler_java> element, add an <addressing> element to the pipeline configuration file.
    Include one <namespace> element that contains the specification that you want to use on the request message, which can be different to the response message; for example, you can always send a request that complies with the W3C core specification, even if the response message uses the submission specification. Axis2 supports both WS-Addressing specifications on inbound messages.

    The following example shows how you might configure the requester pipeline:

    <requester_pipeline>
       <service>
          <service_handler_list>
             <cics_soap_1.1_handler_java>
                <jvmserver>JVMSERV1</jvmserver>
                <addressing>
                   <namespace>http://www.w3.org/2005/08/addressing</namespace>
                </addressing>
             </cics_soap_1.1_handler_java>
          </service_handler_list>
       </service>
    </requester_pipeline>
    The <jvmserver> element contains the name of the JVMSERVER resource that supports Axis2.
  • If the SOAP pipeline does not use Java, add a CICS addressing header program in the <cics_soap_1.1_handler> or <cics_soap_1.2_handler> to the pipeline configuration file.
    The following example shows how you might configure the requester pipeline:
    <requester_pipeline>
       <service>
          <service_handler_list>
             <cics_soap_1.1_handler>
                <headerprogram>
                   <program_name>DFHWSADH</program_name>
                   <namespace>http://www.w3.org/2005/08/addressing</namespace>
                   <localname>*</localname>
                   <mandatory>true</mandatory>
                </headerprogram>
             </cics_soap_1.1_handler>
          </service_handler_list>
       </service>
    </requester_pipeline>
    Code the <program_name>, <localname>, and <mandatory> elements exactly as shown. Set <namespace> to http://www.w3.org/2005/08/addressing to use the W3C WS-Addressing 1.0 Core specification or http://schemas.xmlsoap.org/ws/2004/08/addressing to use the W3C WS-Addressing Submission specification.

    The order of header processing programs is not guaranteed. If you define other header processing programs, add them in a subsequent CICS SOAP handler element in your <service_handler_list> element. The DFHWSADH header handler must be in the first SOAP handler element.

Results

Your requester pipeline is now configured to support WS-Addressing.

What to do next

Create a PIPELINE resource that points to the configuration file. If you are using a Java-based SOAP pipeline, ensure that a JVMSERVER resource is enabled to handle the Axis2 processing.