To invoke a Web Service upon sending a message to a channel, there are two options:
SimpleWebServiceHandler
and
MarshallingWebServiceHandler
. The former will accept either a
String
or javax.xml.transform.Source
as the message
payload. The latter provides support for any implementation of the Marshaller
and Unmarshaller
interfaces. Both require the URI of the Web Service to be
called.
simpleHandler = new SimpleWebServiceHandler(uri); marshallingHandler = new MarshallingWebServiceHandler(uri, marshaller);
Either adapter can then be referenced from a service-activator
element
that is subscribed to an input-channel. The endpoint is then responsible for passing the response to the
proper reply channel. It will first check for an "output-channel" on the service-activator and will
fallback to a RETURN_ADDRESS in the original message's headers.
For more detail on the inner workings, see the Spring Web Services reference guide's chapter covering client access as well as the chapter covering Object/XML mapping.