2

我有一个带有 Wslite 插件的 SOAP 客户端,可以正常工作,但参数不是以最佳方式发送的。

def calcClient(Integer n1, Integer n2) throws Exception {
    def response
    try {
        soapClient.serviceURL = "http://localhost:8080/SISAP/services/sendMail?wsdl"

        response = soapClient.send() {
            soapNamespacePrefix "soap"
            envelopeAttributes "xmlns:util":"http://util.unime.edu.br/"
            body {
                calc{
                    //is not the best way           
                    mkp.yieldUnescaped "<util:number1>$n1</util:number1>"
                    mkp.yieldUnescaped "<util:number2>$n2</util:number2>"
                }
            }
        }
    } catch (Exception exception) {
        log.error(exception.message)
        throw exception
    }

    println response.body.calculaResponse.return
    return
}

它工作正常,但是当我尝试时:

calc{
   number1(n1)
   number2(n2)
}

或者

calc{
   "util:number1($n1)"
   "util:number2($n2)"
}

或者

calc{
   "{util}number1($n1)"
   "{util}number2($n2)"
}

Web 服务在未发送任何参数的情况下引发异常。

我究竟做错了什么?:(

谢谢

4

1 回答 1

0

我认为你需要输入

 mkp.yieldUnescaped.number1('xmlns':'util',n1)
 mkp.yieldUnescaped.number2('xmlns':'util',n2)

使这项工作。

于 2013-11-13T12:03:05.773 回答