SOAP domain message flows

SOAP domain message flows typically use SOAP nodes, WSDL, and a common logical tree format that is independent of the exact format of the web service message.

The following nodes are provided for use in the SOAP domain:
The following nodes can also be used to simplify SOAP payload processing in a message flow; these nodes are not specific to the SOAP domain.
The SOAP nodes are used together in the following basic patterns:
  • As a web service provider, for example:
    This graphic represents a message flow with SOAPInput and SOAPReply nodes.
  • As a web service consumer, for example:
    This graphic represents a message flow with Input, SOAPRequest, and Output nodes.
    This graphic represents a message flow with Input, SOAPAsyncRequest, SOAPAsyncResponse, and Output nodes.
  • As a web service facade, for example, by combining the provider and consumer scenarios:
    This graphic represents a message flow with SOAPInput, SOAPRequest, and SOAPReply nodes.

You can use the SOAPExtract node in conjunction with these patterns to extract the SOAP payload. If you are working with the HTTP nodes, you can use the SOAPEnvelope node to rebuild a SOAP envelope.

The main SOAP domain nodes are typically configured by WSDL, and in this mode, a prerequisite for a SOAP domain message flow is a deployable WSDL. You can either import a WSDL file into an application or library, or generate a WSDL file from an existing message set. For more information about importing a WSDL file, see Importing from WSDL. For more information about generating WSDL from an existing message set, see Message Sets: WSDL generation.

Deployable WSDL can then be used to configure SOAP nodes. You can do this by dragging the WSDL resource onto the node or by selecting the required WSDL resource from the node properties.

The WSDL is deployed with your completed message flow, enabling the integration node to raise exceptions if a web service message does not correspond to the specified WSDL description.

Alternatively you can create a web service from an existing WSDL and implement the defined service operations as subflows. For more information, see Creating an integration service based on a WSDL file.

You can change the operation mode of the SOAP domain nodes so that they act in gateway mode. In gateway mode, a WSDL is not required to configure the nodes because they handle generic request/response and one-way SOAP messages that are not tied to a specific WSDL. For more details, see Gateway operation mode for SOAP nodes.

You can enable WS-RM (reliable messaging) for SOAP message flows by associating the flow or node with a policy set configured for WS-RM. For further information, see Web Services Reliable Messaging.

A client can send an HTTP GET request to the endpoint exposed by a SOAPInput node, suffixed with a query string ?wsdl, and receive a response with the WSDL definition used to configure the flow; see Message flow configuration with a WSDL file.

The SOAP domain uses a common logical tree format that is independent of the exact format of the web service message. For details of the SOAP tree format, see SOAP tree overview. Useful WSDL information is included in the logical tree under SOAP.Context.