SOAPAsyncResponse node
Use the SOAPAsyncResponse node in conjunction with the SOAPAsyncRequest node to construct a pair of message flows that call a web service asynchronously.
- Developer
- Application Integration Suite
- Standard
- Advanced
- Express
- Scale
Purpose
The SOAPAsyncRequest node sends a web service request, but the node does not wait for the associated web service response to be received. However, the SOAPAsyncRequest node does wait for the HTTP 202 acknowledgment before continuing with the message flow, and the SOAPAsyncRequest node blocks if the acknowledgment is not received. The web service response is received by the SOAPAsyncResponse node, which can be in a separate message flow. The nodes are used as a pair, and correlate responses against the original requests.
The SOAP parser invokes the XMLNSC parser to parse the XML content of the SOAP web service, and to validate the XML body of the SOAP web service. The SOAP parser options are passed through to the XMLNSC parser. For more information, see Manipulating messages in the XMLNSC domain.
The SOAPAsyncResponse node is contained in the Web Services drawer of the palette, and is represented in the IBM® Integration Toolkit by the following icon:
Using this node in a message flow
Configuration of the SOAPAsyncResponse node is not WSDL-driven, although the 'must understand headers' list configured on the corresponding SOAPAsyncRequest node is applicable to the SOAPAsyncResponse node.
Most configuration options for this node are set on its paired SOAPAsyncRequest node, including the Backout destination and Backout threshold properties. No SOAP fault is sent when the backout threshold is reached.
LocalEnvironment.SOAP.Response.UserContext
If either of the local environment properties LocalEnvironment.Destination.SOAP.Response.ReplyIdentifier
or LocalEnvironment.Destination.HTTP.RequestIdentifier
were
provided to the paired SOAPAsyncRequest node, these
are passed to the local environment for the SOAPAsyncResponse node.
The SOAPAsyncResponse node can receive a response that has a Content-Encoding of gzip or deflate. When such a response is received, the content is decoded and the Content-Encoding header is removed.
Terminals and properties
When you have put an instance of the SOAPAsyncResponse node into a message flow, you can configure it; see Configuring a message flow node. The properties of the node are displayed in the Properties view. All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.
The SOAPAsyncResponse node terminals are described in the following table.
Terminal | Description |
---|---|
Failure | The output terminal to which an asynchronous SOAP response message is routed if a failure is detected when the message received is propagated to the Out flow (such as a message validation failure). |
Out | The output terminal to which the asynchronous SOAP response message is routed if it has been successfully received, and if further processing is required in this message flow. If no errors occur in the node, a valid none fault SOAP response message received from an external resource is always sent to the Out terminal first. |
Fault | The output terminal to which an asynchronous SOAP fault response is routed if it has been successfully received, and if further processing of the fault is required in this message flow. |
Catch | The output terminal to which the message is routed if an exception is thrown downstream and caught by this node. |
The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the BAR file to deploy it).
The SOAPAsyncResponse node Description properties are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | No | No | The node type: SOAPAsyncResponse | The name of the node. |
Short description | No | No | None | A brief description of the node. |
Long description | No | No | None | Text that describes the purpose of the node in the message flow. |
The SOAPAsyncResponse node Basic properties are described in the following table.
Property | M | C | Default | Description | mqsiapplybaroverride command property |
---|---|---|---|---|---|
Unique identifier | Yes | No | Specify the unique URL fragment that is common to your pair of SOAPAsyncRequest and SOAPAsyncResponse nodes. | asyncRequestCorrelator |
The SOAPAsyncResponse node Transactions property is described in the following table. This setting does not apply when the node uses HTTP transport.
Property | M | C | Default | Description |
---|---|---|---|---|
Transaction mode | Yes | No | No | This property controls whether the message is received under a JMS transaction. Valid values are Yes and No. Select No to receive the message using a non-transactional JMS session. Select Yes to receive the message using a transactional JMS session. The JMS transaction can be either local or XA coordinated. To use an XA coordinated transaction, using an XA JMS session, you must also select the message flow property Coordinated Transaction in the BAR file properties. |
The SOAPAsyncResponse node Advanced property is described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Set destination list | No | No | Selected | This property indicates whether to add the incoming SOAP operation to the route to label destination list. |
Label prefix | No | No | Use this property to add a prefix to the SOAP Operation name in the destination list. You must add a Label prefix if you want to use multiple SOAPAsyncResponse nodes in the same message flow without causing their corresponding Label nodes to clash. By default, the prefix is an empty string so that the operation name and the label name are identical. This property is not available if the Set destination list property is cleared. | |
Place WS-Addressing headers into LocalEnvironment | No | No | Cleared | This property specifies whether the node puts WS-Addressing headers from the response message into the local environment tree. WS-Addressing headers are not accessible to the flow if this check box is cleared because by default, all headers are processed and removed. |
The SOAPAsyncResponse node Instances properties are described in the following table.
Property | M | C | Default | Description | mqsiapplybaroverride command property |
---|---|---|---|---|---|
Additional instances pool | No | Yes | Use Pool Associated with Message Flow | The pool from which additional instances are
obtained.
|
componentLevel |
Additional instances | No | Yes | 0 | The number of additional instances that the node can start if the Additional instances pool property is set to Use Pool Associated with Node. By default, no additional instances are given to the node. | additionalInstances |
The SOAPAsyncResponse node Response Message Parsing properties are described in the following table. The SOAPAsyncResponse node sets these properties automatically; you cannot set them yourself.
Property | M | C | Default | Description |
---|---|---|---|---|
Message domain | No | No | SOAP | The domain that is used to parse the response
message. By default, the message that is propagated from the SOAPAsyncResponse node is in
the SOAP domain. You cannot specify a different domain. For more information,
see SOAP parser and domain. The Response Message Parsing properties are ignored when the paired SOAPAsyncRequest node is configured to act in gateway mode. |
Message model | Yes | No | Set automatically from the WSDL file name property that is provided by the SOAPAsyncRequest node. | The name or location of the message model schema
file in which the response message is defined. Message model is set automatically
to the project that contains the WSDL file that is configured on the
corresponding SOAPAsyncRequest node. If you set this property, and then subsequently update the project dependencies to remove this message model reference, a warning is issued. Either update the Message model property, or restore the reference to this message models. The Response Message Parsing properties are ignored when the paired SOAPAsyncRequest node is configured to act in gateway mode. |
Message | No | No | The name of the response message. The node detects the message type automatically. You cannot set this property. | |
Physical format | No | No | The name of the physical format of the response message. You cannot set this property. |
The SOAPAsyncResponse node Parser Options properties are described in the following table. The properties are passed through to the XMLNSC parser.
Property | M | C | Default | Description |
---|---|---|---|---|
Parse timing | No | No | On Demand | This property controls when a response message
is parsed. Valid values are On
Demand, Immediate,
and Complete. By default, parse timing is set to On demand, which causes parsing of the input message to be delayed. For a full description of this property, see Parsing on demand. |
Build tree using XML schema data types | No | No | Selected | This property controls whether the XMLNSC parser
creates syntax elements in the message tree with data types taken
from the XML Schema. This property is ignored when the paired SOAPAsyncRequest node is configured to act in gateway mode. |
Retain mixed content | No | No | Cleared | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters mixed text in a response message. If you select the check box, elements are created for mixed text. If you clear the check box, mixed text is ignored and no elements are created. |
Retain comments | No | No | Cleared | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters comments in an response message. If you select the check box, elements are created for comments. If you clear the check box, comments are ignored and no elements are created. |
Retain processing instructions | No | No | Cleared | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters processing instructions in a response message. If you select the check box, elements are created for processing instructions. If you clear the check box, processing instructions are ignored and no elements are created. |
Opaque elements | No | No | Blank | This property is used to specify a list of elements in the response message that are to be opaquely parsed by the XMLNSC parser. Opaque parsing is performed only if validation is not enabled (that is, if Validate is None); entries that are specified in Opaque Elements are ignored if validation is enabled. |
The SOAPAsyncResponse node Validation properties are described in the following table. By default, validation is enabled.
If a message is propagated to the Failure terminal of the node, it is not validated. For more details, see Validating messages and Validation properties.
Property | M | C | Default | Description | mqsiapplybaroverride command property |
---|---|---|---|---|---|
Validate | No | Yes | Content and value | This property controls whether validation takes
place. Valid values are None, Content and value, and Content. Validation properties are ignored when the paired SOAPAsyncRequest node is configured to act in gateway mode. |
validateMaster |
Failure action | No | No | Exception | This property controls what happens if validation
fails. You can set this property only if you set Validate to Content or Content and value. Valid values
are User trace, Exception list, Local error log, and Exception. Validation properties are ignored when the paired SOAPAsyncRequest node is configured to act in gateway mode. |
Property | M | C | Default | Description |
---|---|---|---|---|
Events | No | No | None | Events that you have defined for the node are
displayed on this tab. By default, no monitoring events are defined
on any node in a message flow. Use Add, Edit,
and Delete to create, change or delete monitoring
events for the node; see Configuring monitoring event sources by using monitoring properties for details. You can enable and disable events that are shown here by selecting or clearing the Enabled check box. |
LocalEnvironment overrides
Setting | Description |
---|---|
UserContext | You can retrieve context data that was stored
by the SOAPAsyncRequest node
from the following location in the local environment:
|