Я знаю, что ваш вопрос задавался о плагине для использования, но я никогда не использовал один из плагинов Grails-WS, поэтому я не могу комментировать там.Вместо этого, если ваши заглушки совместимы с маршалингом JAXB, вы можете использовать проект Spring Web Services.Вам просто нужно добавить зависимость в BuildConfig.groovy
для импорта соответствующих jar-файлов.
http://static.springsource.org/spring-ws/sites/2.0/reference/html/client.html
Таким образом, вы просто определяете некоторые bean-компоненты JAXB marshaller / unmarshaller и обработчики веб-служб.Вы можете получить как можно больше подробностей из документации, приведенной выше, и определить таймауты и безопасность, если указали свой собственный обработчик или перехватчики соединений.
myJaxb2Marshaller(org.springframework.oxm.jaxb.Jaxb2Marshaller) {
classesToBeBound = ['my.class.Class1','my.class.Class2']
}
myWebServiceMessageFactory(org.springframework.ws.soap.saaj.SaajSoapMessageFactory)
myWebServiceTemplate(org.springframework.ws.client.core.WebServiceTemplate, ref('myWebServiceMessageFactory')) {
marshaller = ref('myJaxb2Marshaller')
unmarshaller = ref('myJaxb2Marshaller')
}
В этот момент вы можете использовать внедрение зависимостей Grail для использованияWebServiceTemplate
в вашем коде Grails:
class myService {
def myWebServiceTemplate
void myMethod {
...
Class1 myRequestObject = new Class1(data:myData)
Class2 myResponseObject = myWebServiceTemplate.marshalSendAndReceive(mySoapEndpoint, myRequestObject)
...
}
}