我正在使用groovy-wslite对WSDL进行SOAP调用,并且需要其生成的xml节点中的一个具有属性。以下是我需要的一个例子:
<soap-env:Envelope xmlns:soap-env='http://schemas.xmlsoap.org/soap/envelope/'
<soap-env:Header />
<soap-env:Body>
<getSomething id = "1">
</getSomething>
</soap-env:Body>
</soap-env:Envelope>
在此示例中,我需要getSomething
调用才能拥有id
属性。
答案 0 :(得分:0)
除了将构建子元素的闭包之外,您还可以传递其键/值将成为属性的贴图。以下将生成与您拥有的SOAP请求匹配的SOAP请求。
@Grab(group='com.github.groovy-wslite', module='groovy-wslite', version='0.7.1')
import wslite.soap.*
def client = new SOAPClient('http://...')
def response = client.send {
header
body {
getSomething(id:'1') {
//more elements here if needed
}
}
}
Groovy的MarkupBuilder在幕后使用,因此在使用wslite生成SOAP请求时,您为MarkupBuilder找到的任何示例都应该适用。