Grails是否提供内置或通过插件支持来使用(而不是生成)基于XML的REST或SOAP Web服务(尤其是REST)?
答案 0 :(得分:3)
答案 1 :(得分:3)
答案 2 :(得分:1)
过去,我创建了一个脚本(grails create-script),该脚本使用wsimport在java src目录中创建POJO。每次运行脚本时,如果生成的目录首先存在,它将删除生成的目录,然后生成新文件。
我之所以这样做,是因为正在开发的API正在开发中,我希望在添加新功能时能够轻松使用最新且最好的。
答案 3 :(得分:0)
在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())