3.8 Web Service Adapters

To invoke a Web Service upon sending a message to a channel, there are two options: SimpleWebServiceTargetAdapter and MarshallingWebServiceTargetAdapter. 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.

simpleAdapter = new SimpleWebServiceTargetAdapter(uri);

marshallingAdapter = new MarshallingWebServiceTargetAdapter(uri, marshaller);

Either adapter can then be referenced from a HandlerEndpoint that is subscribed to a MessageChannel. The endpoint is then responsible for passing the response to the proper reply channel. It will first check for an "output-channel" on the endpoint itself and will fallback to a returnAddress on the original message's header.

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.