WS-Addressing header information can be placed in the local environment tree where it is visible to a message flow. WS-Addressing header information is only processed by the SOAP nodes.
Inbound information is placed in the local environment by the SOAP node only if addressing is engaged on the node and you select the Place WS-Addressing Headers into LocalEnvironment property on the SOAPInput, SOAPAsyncResponse, or SOAPRequest nodes.
The following table describes the node specific WS-Addressing information in the local environment tree.
Node | Populates local environment property |
---|---|
SOAPInput | LocalEnvironment.SOAP.Input.WSA.type |
SOAPAsyncResponse | LocalEnvironment.SOAP.Response.WSA.type |
SOAPRequest | LocalEnvironment.SOAP.Request.WSA.type |
Where type is the structure of the subsection of the local environment WS-Addressing XML schema. For details about how type maps to the WS-Addressing properties defined by the WS-Addressing specification, see the Local environment property type section of this topic.
The local environment information for inbound messages is for your information only. If you engage addressing on the node, and select the Place WS-Addressing Headers into LocalEnvironment property on the node, WS-Addressing information is available for you to look at and use in your flow. The WS-Addressing properties are placed in the local environment after processing by the node. Note that the WS-Addressing folder and all its children are owned by an XMLNSC parser, therefore you can copy elements directly into any other tree that is owned by an XMLNSC parser. However, be aware that if you copy this folder (or any of its children) to a tree that is not owned by an XMLNSC parser, information in the tree is discarded unless you create an XMLNSC parser in the target tree first. This behavior can occur if you, for example, copy from the InputLocalEnvironment tree to the OutputLocalEnvironment tree.
You can place outbound WS-Addressing header information in the local environment; however, this practice is necessary only to override the defaults that are generated by the node automatically . Outbound addressing headers are created only if WS-Addressing is enabled on the node.
The following table describes the node specific WS-Addressing information in the local environment tree that can be used to override the defaults for outbound messages.
Node | Populates local environment property |
---|---|
SOAPReply | LocalEnvironment.Destination.SOAP.Reply.WSA.type |
SOAPRequest | LocalEnvironment.Destination.SOAP.Request.WSA.type |
SOAPAsyncRequest | LocalEnvironment.Destination.SOAP.Request.WSA.type |
Where type is the structure of the subsection of the local environment WS-Addressing XML schema. For details about how the type maps to the WS-Addressing properties defined by the WS-Addressing specification, see the Local environment property type section of this topic.
You can modify local environment information for outbound messages. The SOAPReply, SOAPRequest, and SOAPAsyncRequest nodes generate default local environment settings that you can override. One exception to this table is that any attempt to override the WS-Addressing ReplyTo address on the SOAPAsyncRequest node is ignored.
SET OutputRoot = InputRoot;
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.To.Address = 'jms:jndi:INPUTQ';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.ReplyTo.Address = 'jms:jndi:RESPONSEQ?jndiConnectionFactoryName=QCF&
jndiInitialContextFactory=com.sun.jndi.fscontext.RefFSContextFactory&
jndiURL=file://C:/SOAPJNDIBindings';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.From.Address = 'jms:jndi:INPUTQ';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.FaultTo.Address = 'jms:jndi:RESPONSEQ?jndiConnectionFactoryName=QCF&
jndiInitialContextFactory=com.sun.jndi.fscontext.RefFSContextFactory&
jndiURL=file://C:/SOAPJNDIBindings';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.Action = 'http://WMB_BankImport/NewOperation';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.MessageID = 'test:my:msg:ID:1234578';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.Version = 'Submission-2004/08';
Element | Corresponds to abstract WS-Addressing MAP name |
---|---|
To | [destination endpoint] |
From | [source endpoint] |
ReplyTo | [reply endpoint] |
FaultTo | [fault endpoint] |
Action | [action] |
MessageId | [message id] |
RelatesTo | [relationship] |
ReferenceParameters | [reference parameters] |
Version | This element does not correspond to a MAP, but it is used to identify the version of WS-Addressing. The two main versions of WS-Addressing are Submission and Final. The default version that is used by all nodes is Final. Therefore, for outbound messages, set this element only if you want the version to be Submission. In the code example, the version is set to Submission by the inclusion of 'Submission-2004/08' in the element. For incoming messages, this element is populated automatically with the version of the WS-Addressing headers that the inbound message used. |
For more details about the message addressing properties defined by the WS-Addressing specification, see WS-Addressing.
For outbound WS-Addressing, you can set an additional local environment property.
Element | Description |
---|---|
AddMustUnderstandAttribute | This element places the SOAP mustUnderstand attribute on each WS-Addressing header before the message is sent. |