In addition, the Spring WS plugin also has a dependency on the 'functional-test' plugin when conducting web service functional tests, and the Spring Security Grails plugin if you want to use that option for securing your endpoints.
This is especially useful when you are working with a schema that has been in existence prior to your endpoint implementation, or perhaps is a public shared schema that you simply cannot change.
To override the default endpoint payload mapping strategy, all you have to do is provide the request Element static property that contains the name of the element you expect in the root of the documents that you want to route to your endpoint: WS-Security is the standard mechanism for providing secure web services.
New in release 0.5.0 is the first level of support for WS-Security, which provides a working implementation that can rely on simple keystores or Spring Security for authorization and authentication.
A massive thanks again to Tareq for this contribution!
NOTE: As of 0.2.3 the Spring WS plugin does not come packaged with the Functional Test plugin.
This was due to problems with packaging the plugin into a war when it depended on plugins that only had 'test' scope.To conclude the tutorial, we will complete our application with some features provided by Spring Integration, like adding timeouts, using interceptors and learning how to retry a failed invocation.This tutorial is composed by the following sections: The communication with external web services is done by Spring Integration with gateways.The Holiday endpoint will, by default, be invoked for incoming service invocations that contain an element called 'Holiday Request' as the root element in the payload.Secondly, the static namespace property is used to classify the root payload element, so this endpoint will respond to 'Holiday Request' elements in the root of the incoming document payload, as long as it is in the specified namespace as indicated by the URI in the namespace property.To this end, the Spring WS plugin provides an Endpoint Functional Test artefact to make creating this functional tests as easily as possible.