The CICS-provided SOAP 1.1 and SOAP 1.2 message handlers link to the header processing programs using channel DFHHHC-V1. The containers that are passed on the channel include several that are specific to the header processing program interface, and sets of context containers and user containers that are accessible to all the header processing programs and message handler programs in the pipeline.
When the header processing program is invoked, DFHHEADER contains the single header block which caused the header processing program to be driven. When the header program is specified with <mandatory>true</mandatory> or <mandatory>1</mandatory> in the pipeline configuration file, it is be invoked even when there is no matching header block in the SOAP message. In this case, container DFHHEADER has a length of zero. This will be the case when a header processing program is invoked to add a header block to a SOAP message that does not have header blocks.
The SOAP message that CICS® creates has no headers initially. If you want to add headers to your message, you must ensure that at least one header processing program is invoked, by specifying <mandatory>true</mandatory> or <mandatory>1</mandatory>.
xmlns:na='http://abc.example.org/schema' xmlns:nx='http://xyz.example.org/schema'
You can add further namespace declarations to the SOAP envelope by appending them to the contents of DFHWS-XMLNS. However, namespaces whose scope is a SOAP header block or a SOAP body are best declared in the header block or the body respectively. You are advised not to delete namespace declarations from container DFHWS-XMLNS in a header processing program, because XML elements which are not visible in the program may rely on them.
When the header processing program is invoked, DFHWS-BODY contains the SOAP <Body> element.