How CICS invokes other service provider programs

When a service provider application that has not been deployed with the CICS® Web services assistant is invoked, CICS links to it with a channel.

The following containers are available containing the request:
Container name
Contents
DFHWS-BODY
For an inbound SOAP request when the pipeline includes a CICS-provided SOAP message handler, the contents of the SOAP body.
DFHREQUEST
The complete request (including the envelope for a SOAP request) received from the pipeline.
DFHWS-XMLNS
A list of name-value pairs that map namespace prefixes to namespaces for the XML content of the request.
DFHWS-SOAPACTION
The SOAPAction header associated with the SOAP message in container DFHWS-BODY.
The following containers that were available to message handlers in the pipeline are also available to your program, as well as any other containers that you created:

When your program has processed the request, it returns the response in the following containers:

Container name
Contents
DFHRESPONSE
The complete response message to be passed to the pipeline. Use this container if you do not use SOAP for your messages, or if you want to build the complete SOAP message (including the envelope) in your program.
If you supply a SOAP body in container DFHWS-BODY, DFHRESPONSE should be empty. If you supply content in both DFHWS-BODY and DFHRESPONSE, CICS uses DFHRESPONSE.
DFHWS-BODY
For an outbound SOAP response, the contents of the SOAP body. Provide this container when the terminal handler of your pipeline is a CICS-provided SOAP message handler. The message handler will construct the full SOAP message containing the body.

You can use any of the other containers to pass information that your pipeline needs for processing the outbound response.

If the terminal handler of your pipeline is a CICS-provided SOAP message handler, and your Web service does not return a response, you must return container DFHNORESPONSE to indicate that there is no response. The contents of the container are unimportant, as the message handler checks only whether the container is present or not.

When you are not using a SOAP message handler, you indicate that there is no response by not returning container DFHRESPONSE.

Start of changeWhen you code API commands to work with the containers, you do not need to specify the CHANNEL option, because all the containers are associated with the current channel (the channel that was passed to the program). If you need to know the name of the channel, use the EXEC CICS ASSIGN CHANNEL command.End of change