Поддержка Grails для использования веб-сервисов - PullRequest
3 голосов
/ 15 июля 2011

Предоставляет ли Grails встроенную поддержку через плагин для использования (а не для создания) веб-служб на основе XML REST или SOAP (особенно REST)?

Ответы [ 4 ]

3 голосов
/ 16 июля 2011

Для веб-сервисов на основе SOAP используйте WSClient . Плагин является оберткой вокруг GroovyWS . Под капотом там работает Apache CXF.

3 голосов
/ 15 июля 2011
1 голос
/ 19 июля 2011

В прошлом я создавал скрипт (grails create-script), который использовал wsimport для создания POJO в каталоге java src.Каждый раз, когда скрипт запускался, он удалял сгенерированный каталог, если он существовал первым, а затем генерировал новые файлы.

Я сделал это, потому что API, который использовался, разрабатывался, и я хотел простой способ использовать последние и лучшие из них при добавлении новой функциональности.

0 голосов
/ 09 февраля 2018

В Grails 3.x вы можете использовать плагин в build.gradle

compile 'com.github.groovy-wslite:groovy-wslite:1.1.2'

Затем добавьте импорт в ваш контроллер, как в http://guides.grails.org/grails-soap/guide/index.html

import wslite.soap.*
import wslite.soap.SOAPClient
import wslite.soap.SOAPResponse

и использовать в качестве примера, доступного в https://github.com/jwagenleitner/groovy-wslite

def client = new SOAPClient('http://www.holidaywebservice.com/Holidays/US/Dates/USHolidayDates.asmx')
def response = client.send(SOAPAction:'http://www.27seconds.com/Holidays/US/Dates/GetMothersDay') {
body {
    GetMothersDay('xmlns':'http://www.27seconds.com/Holidays/US/Dates/') {
        year(2011)
    }
}
}

assert "2011-05-08T00:00:00" == response.GetMothersDayResponse.GetMothersDayResult.text()
assert 200 == response.httpResponse.statusCode
assert "ASP.NET" == response.httpResponse.headers['X-Powered-By']

render (response.GetMothersDayResponse.GetMothersDayResult.text())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...