diff --git a/spring-integration-reference/src/spring-integration-reference.xml b/spring-integration-reference/src/spring-integration-reference.xml index a41815040e..63eadc43d6 100644 --- a/spring-integration-reference/src/spring-integration-reference.xml +++ b/spring-integration-reference/src/spring-integration-reference.xml @@ -3,6 +3,8 @@ Spring Integration Reference Manual + Spring Integration 1.0.3 + Spring Integration 1.0.3 diff --git a/spring-integration-reference/src/transformer.xml b/spring-integration-reference/src/transformer.xml index 1ce7943fe7..32f41058af 100644 --- a/spring-integration-reference/src/transformer.xml +++ b/spring-integration-reference/src/transformer.xml @@ -85,11 +85,9 @@ If you need to serialize an Object to a byte array or deserialize a byte array back into an Object, Spring Integration provides symmetrical serialization transformers. - + - ]]> + ]]> If you only need to add headers to a Message, and they are not dynamically determined by Message content, diff --git a/spring-integration-reference/src/ws.xml b/spring-integration-reference/src/ws.xml index 743d8eaf59..23a5659dd5 100644 --- a/spring-integration-reference/src/ws.xml +++ b/spring-integration-reference/src/ws.xml @@ -12,11 +12,20 @@ MarshallingWebServiceOutboundGateway. 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. simpleGateway = new SimpleWebServiceOutboundGateway(uri); + and Unmarshaller interfaces. Both require a Spring Web Services + DestinationProvider for determining the URI of the Web Service to be + called. simpleGateway = new SimpleWebServiceOutboundGateway(destinationProvider); - marshallingGateway = new MarshallingWebServiceOutboundGateway(uri, marshaller); + marshallingGateway = new MarshallingWebServiceOutboundGateway(destinationProvider, marshaller); + + When using the namespace support described below, you will only need to set a URI. Internally, the parser + will configure a fixed URI DestinationProvider implementation. If you do need dynamic resolution of the + URI at runtime, however, then the DestinationProvider can provide such behavior as looking up the URI from + a registry. See the Spring Web Services + javadoc for + more information about the DestinationProvider strategy. + For more detail on the inner workings, see the Spring Web Services reference guide's chapter covering @@ -37,7 +46,7 @@ If the incoming web service message is a SOAP message the SOAP Action header will be added to the headers of the Message that is forwarded onto the request channel. - simpleGateway = new SimpleWebServiceInboundGateway(uri); + simpleGateway = new SimpleWebServiceInboundGateway(); simpleGateway.setRequestChannel(forwardOntoThisChannel); simpleGateway.setReplyChannel(listenForResponseHere); //Optional @@ -62,7 +71,25 @@ as per standard Spring Web Services configuration. ]]> - + + Notice that this example does not provide a 'reply-channel'. If the Web Service were to + return a non-empty response, the Message containing that response would be sent to the + reply channel provided in the request Message's REPLY_CHANNEL header, and if that were + not available a channel resolution Exception would be thrown. If you want to send the + reply to another channel instead, then provide a 'reply-channel' attribute on the + 'outbound-gateway' element. + + + When invoking a Web Service that returns an empty response after using a String payload + for the request Message, no reply Message will be sent by default. + Therefore you don't need to set a 'reply-channel' or have a REPLY_CHANNEL header in the + request Message. If for any reason you actually do want to receive + the empty response as a Message, then provide the 'ignore-empty-responses' attribute with + a value of false (this only applies for Strings, because using a + Source or Document object simply leads to a NULL response and will therefore + never generate a reply Message). + + To set up an inbound Web Service Gateway, use the "inbound-gateway": ]]> @@ -87,6 +114,11 @@ as per standard Spring Web Services configuration. you may also provide a reference for the "request-callback" on the outbound gateways. + + For either outbound gateway type, a "destination-provider" attribute can be specified instead of the "uri" + (exactly one of them is required). You can then reference any Spring Web Services DestinationProvider + implementation (e.g. to lookup the URI at runtime from a registry). + For either outbound gateway type, the "message-factory" attribute can also be configured with a reference to any Spring Web Services WebServiceMessageFactory implementation.