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.