我需要使用 SOAP 从我的 grails (2.6) 应用程序向服务器发送/接收数据。我已经设法使用 SOAP UI 来模拟我想做的事情,而且它工作得很好。
所以,我正在查看 groovy-wslite 和 HTTPBuiler(我真的不介意我使用的是什么),但我有点迷茫,因为我以前从未真正做过这样的事情。
主要问题是如何将我在 SOAP UI 中所做的工作转换为 grails 环境。我查看了大量示例,但没有一个与我的场景完全匹配,因为 WSDL 文件是从服务器下载的,并存储在本地计算机上。所以,我有一个本地 WSDL 文件,和一个远程服务器 URL。
我还需要使用用户名和密码向服务器验证自己。
实际的 xml 相对简单(这是来自 SOAP UI):-
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://www.cisco.com/AXL/API/14.0">
<soapenv:Header/>
<soapenv:Body>
<ns:getCCMVersion>
</ns:getCCMVersion>
</soapenv:Body>
</soapenv:Envelope>
这导致:-
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:getCCMVersionResponse xmlns:ns="http://www.cisco.com/AXL/API/14.0">
<return>
<componentVersion>
<version>14.0.1.12900(161)</version>
</componentVersion>
</return>
</ns:getCCMVersionResponse>
</soapenv:Body>
</soapenv:Envelope>
SOAP UI 允许我在本地机器上使用 WSDL 文件创建一个项目,然后允许我将项目绑定到我的远程服务器,指定用户名和密码。
但是我不知道如何使用 groovy-wslite 或 HTTP 构建器将所有这些转换到我的 Grails 环境中。它们都暗示 wsdl 在您正在与之通信的服务器上,而不是有一个单独的本地 WSDL 文件?我看过的所有示例都没有涉及身份验证。
有人可以让我开始吗?!