I could see from the logs that errors were detected on validation of invalid responses, but responses were still turning up, no soap faults were in sight. It turned out this is a known issue, affecting spring-ws 2.1.0-2.1.2, to be fixed in 2.1.3. In the mean time, this workaround resolved the issue: import org.context. In order to use a web service gateway, you will need to specify a new namespace: As you see, you just need to define the flow (request and reply channels) and where to call.The infrastructure details required to send the message are handled by Spring Integration.This condition may be that the service finally responded or we reached a maximum number of attempts.For this feature, Spring Integration offers a retry advice. The retry advice is included in the web service outbound gateway.
In case the service invocation fails, the advice will keep retrying the operation based on its configuration.
There are some more attributes that are available for customizing the invocation with the gateway.
Below, there is a brief description of the main attributes: This section is just a quick reference to the inbound service gateway in order to know how it generally works, since we will not use it in this tutorial.
Once received, it will send the response through the response channel and back to the system entry gateway, which will then deliver it to the client. This means that the flow is synchronous; the client will block waiting the web service to respond: During the next sections, we will add some features to this example application. And what’s more, we will also be able to define read and connection timeouts.
The client application sends the is configured as its reply channel, where the system entry gateway is subscribed. Checking at the gateway’s namespace, we can see that there’s no configuration for setting the invocation timeout. Following with the example, let’s add it the timeouts.