当前位置: 首页 > 知识库问答 >
问题:

用groovyslite编写soap请求

李弘光
2023-03-14

我是新到Groovy wslite,我想写一个肥皂请求在wslite。

我在xml中的肥皂请求是-

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:get="http://WSA.francetelecom.com/types/GetSoftPhoneInfos">
   <soapenv:Header/>
   <soapenv:Body>
      <get:getClientSOFTPHONEInfo>
         <get:businessUnit>${#TestSuite#BU_FR}</get:businessUnit>
         <get:cpeType>${#TestSuite#CPETYPE}</get:cpeType>
         <get:customerId>
            <!--Optional:-->
            <get:type>${#TestSuite#ID_TYPE_NDIP}</get:type>
            <!--Optional:-->
            <get:value>${#TestSuite#NDIP_Nominal}</get:value>
         </get:customerId>
      </get:getClientSOFTPHONEInfo>
   </soapenv:Body>
</soapenv:Envelope>

我正在运行的groovy脚本如下-

import wslite.soap.*
import wslite.http.auth.*
import groovy.xml.XmlUtil

def client = new SOAPClient( 'http://10.170.194.214:1080/PapyrusSAV/services/GetSoftPhoneInfos-v2?wsdl')
client.authorization = new HTTPBasicAuthorization( "papyihm", "papypapyihm" )
def response = client.send(SOAPAction:'')
body{
 getClientSOFTPHONEInfo('xmlns':'http://WSA.francetelecom.com/types/GetSoftPhoneInfos'){
      businessUnit('FR')
      cpeType('SOFTPHONE')
      customerId('xmlns':'http://WSA.francetelecom.com/types/GetSoftPhoneInfos'){
             type('NDIP')
             value('+33155886791')
      }
  }
}
println XmlUtil.serialize( response.getClientSOFTPHONEInfo)

当我执行我的时髦时,出现错误

groovy.lang.MissingMethodException: No signature of method: wslite.soap.SOAPClient.send() is applicable for argument types: (java.util.LinkedHashMap) values: [[SOAPAction:]]
Possible solutions: send(groovy.lang.Closure), send(java.lang.String), send(java.util.Map, groovy.lang.Closure), send(java.util.Map, java.lang.String), send(wslite.soap.SOAPVersion, java.lang.String), find()

我做错了什么。

PS:SoapAction在我使用的wsdl中为“”

共有1个答案

陆绍辉
2023-03-14

你需要一个关闭发送请求如下:-

def response = client.send(SOAPAction:'') {
     body {
           getClientSOFTPHONEInfo('xmlns':'http://WSA.francetelecom.com/types/GetSoftPhoneInfos'){
           businessUnit('FR')
           cpeType('SOFTPHONE')
           customerId('xmlns':'http://WSA.francetelecom.com/types/GetSoftPhoneInfos') {
                type('NDIP')
                value('+33155886791')
             }
          }
       }
   }

希望对您有所帮助..:)

 类似资料:
  • 我有一个4个测试套件的soap项目,每个测试套件都有一些测试用例,每个测试用例都有一些测试步骤[Soap请求,Groovy脚本]我能够使用下面提到的代码访问所有属性,但是,代码在本地系统中写入空白请求/响应文件** **请帮助解决这个问题,**

  • 问题内容: 我想用XML内容类型编写请求的正文,但是我不知道如何使用HttpClient对象(http://hc.apache.org/httpclient-3.x/apidocs/index.html) 而且我不知道如何继续用我的XML编写正文… 问题答案: 如果您的xml是由您编写的,则只能以这种方式使用 注意例外。 顺便说一句,该示例是由httpclient版本4.x编写的

  • 我已经用soap请求启动了一个新项目,我遵循了一些关于它的教程,但它并没有像它应该做的那样好。 我将这部分代码用于请求: 它给了我这个错误: SoapFault异常:[HTTP]不支持的媒体类型堆栈跟踪: 所有参数的类型都可以根据我得到的留档。和php部分似乎可以对我和我找到的所有教程。 我想知道这是否是头部问题或类似的问题。 WSDL在[这里](https://smarteye.ariadnex

  • 嗨,有人能帮我吗。 如何请求soapweb服务并获取xml响应。Senario:使用SOAPUIIM发送带有用户名、密码身份验证的wsdl url,我还将发送SOAPXML数据并获得响应。如何使用nodejs或sails实现同样的目标。 在SoapUi中,我的soapxml请求如下 我的Soap身份验证就像 $UserName:xyz 我的wsdl url是http://esbuatt1wm.it

  • 问题内容: 是否可以使用Python的库发送SOAP请求? 问题答案: 确实有可能。 这是一个使用普通请求lib调用Weather SOAP Service的示例: 一些注意事项: 标头很重要。没有正确的标头,大多数SOAP请求将无法工作。可能是更 正确 使用的标头(但weatherservice更喜欢 这将以xml字符串形式返回响应-然后,您需要解析该xml。 为简单起见,我以纯文本形式包含了该

  • 任何人都可以在下面帮助我吗? 是否可以通过POSTMAN运行SOAP Get Request? 如果是这样,请提供一些链接或步骤,因为我得到错误