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 Configuring message flows by using a WSDL.
- 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 broker, you can choose to handle HTTP messages by
using either the broker 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.