SOAP nodes

The SOAP nodes act as points in the flow where web service processing is configured and applied. Properties on the SOAP nodes control the processing carried out and can be configured by supplying a WSDL definition, or by manually configuring properties, or both.

SOAP nodes

  • The SOAPInput and SOAPReply nodes are used in a message flow which implements a web service. These SOAP nodes are used to construct a message flow that implements a web service provider. The SOAPInput node listens for incoming web service requests, and the SOAPReply sends responses back to the client; see SOAPInput node and SOAPReply node.
  • A client can send an HTTP GET request to the endpoint exposed by the flow, suffixed with a query string ?wsdl, and receive a response with the WSDL definition used to configure the flow. For a full description, see Message flow configuration with a WSDL file.
  • The SOAPRequest node is used in a message flow to call a web service provider synchronously. Calling a web service synchronously means that the node sends a web service request and waits, blocking the message flow, for the associated web service response to be received before the message flow continues; see SOAPRequest node.
  • The SOAPAsyncRequest and SOAPAsyncResponse nodes are used to construct a message flow (or pair of flows) which calls a web service asynchronously. Calling a web service asynchronously means that the SOAPAsyncRequest node sends a web service request, but the request does not block the message flow by waiting for the associated web service response to be received because the web service response is received at the SOAPAsyncResponse node, which is in a separate flow. The Node Correlator identifies the logical pairing of the responses against the original requests. Multiple requests can, therefore, be handled in parallel; see SOAPAsyncRequest node and SOAPAsyncResponse node.
  • You can work on the payload of the SOAP body using the SOAPExtract and SOAPEnvelope nodes. The SOAPExtract node can interoperate with the SOAP domain. The SOAP nodes do not require the SOAPEnvelope node, because they can directly handle non-SOAP messages, but the SOAPEnvelope node is still required for the HTTP nodes. See SOAPExtract node and SOAPEnvelope node.
  • You can change the Operation mode of the SOAP nodes so that they act in gateway mode. In gateway mode, a WSDL is not required to configure the nodes since 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.

The W3C SOAP specification refers to "SOAP nodes" meaning a unit of application logic (see Web Services Glossary). Typically, references to "SOAP nodes" in the IBM® Integration Bus Information Center are referring to IBM Integration Bus SOAP nodes.

If you are using SOAP nodes and HTTP nodes in message flows on a single integration node, you can choose to handle HTTP messages by using either the integration node listener or embedded integration server listeners. If a listener in your configuration receives messages that both SOAPInput and HTTPInput nodes might get, you must carefully check the URL specifications in these nodes. If both URL specifications match an incoming message, the wrong type of node might get the message, and processing might fail or produce unexpected results. This situation occurs if you specify identical values for the Path suffix for URL properties of the HTTPInput node and the SOAPInput node. It can also occur if you use wildcards in either or both specifications, and an incoming message matches both properties.