如何在 wslite soap 中使用 nil api
how to use nil with wslite soap api
Grails 2.4.4 + wslite 0.7.2.0 可以这样调用SOAP服务:
def client = new SOAPClient('http://www.webservicex.net/CurrencyConvertor.asmx')
def response = client.send(SOAPAction:'http://www.webserviceX.NET/ConversionRate') {
body {
ConversionRate('xmlns':'http://www.webserviceX.NET/') {
FromCurrency('GBP')
ToCurrency('EUR')
}
}
}
问题是我正在调用一个需要使用 nil 的服务,例如
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="bla" xmlns:i="w3.org/2001/XMLSchema-instance">
:
<ns:IdentityToken i:nil="true"></ns:IdentityToken>
有没有办法使用插件来做到这一点?
想通了。我不知道这是否是正确的方法,但它似乎适用于我们的服务。下面只是为了说明使用 nil 的策略:
def client = new SOAPClient('http://www.webservicex.net/CurrencyConvertor.asmx')
def response = client.send(SOAPAction:'http://www.webserviceX.NET/ConversionRate') {
body {
ConversionRate('xmlns':'http://www.webserviceX.NET/' , 'xmlns:i': "http://www.w3.org/2001/XMLSchema-instance") {
FromCurrency("i:nil": "true", '')
ToCurrency('EUR')
}
}
}
Grails 2.4.4 + wslite 0.7.2.0 可以这样调用SOAP服务:
def client = new SOAPClient('http://www.webservicex.net/CurrencyConvertor.asmx')
def response = client.send(SOAPAction:'http://www.webserviceX.NET/ConversionRate') {
body {
ConversionRate('xmlns':'http://www.webserviceX.NET/') {
FromCurrency('GBP')
ToCurrency('EUR')
}
}
}
问题是我正在调用一个需要使用 nil 的服务,例如
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="bla" xmlns:i="w3.org/2001/XMLSchema-instance">
:
<ns:IdentityToken i:nil="true"></ns:IdentityToken>
有没有办法使用插件来做到这一点?
想通了。我不知道这是否是正确的方法,但它似乎适用于我们的服务。下面只是为了说明使用 nil 的策略:
def client = new SOAPClient('http://www.webservicex.net/CurrencyConvertor.asmx')
def response = client.send(SOAPAction:'http://www.webserviceX.NET/ConversionRate') {
body {
ConversionRate('xmlns':'http://www.webserviceX.NET/' , 'xmlns:i': "http://www.w3.org/2001/XMLSchema-instance") {
FromCurrency("i:nil": "true", '')
ToCurrency('EUR')
}
}
}