在 Grails 中构建 SOAP 请求

问题描述 投票:0回答:0

我需要使用 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 文件?我看过的所有示例都没有涉及身份验证。

有人可以让我开始吗?!

xml grails groovy soap
© www.soinside.com 2019 - 2024. All rights reserved.