0

我的 SOAP 请求如下所示:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gd="http://test.com/gds-mvmnt">
    <env:Header/>
    <env:Body>
        <ns1:getContainer env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
            <code xsi:type="xsd:string">PCK26397841</code>
            <messageId xsi:type="xsd:string"/>
        </ns1:getContainer>
    </env:Body>
    </env:Envelope>

我需要创建基于代码标签值选择响应的模拟。无需修改响应。响应按原样添加到模拟中。只需要这样的逻辑:如果代码 A 然后响应 1,如果代码 B 然后响应 2 等等。请帮助我使用基本的 groovy 脚本。

4

1 回答 1

0

这可以通过编写 simple 来实现Script Dispatch

这是方法:

  • 检查请求是否为空
  • 定义一个包含代码及其相应响应名称的映射
  • 从模拟请求中提取代码并根据上图发送相应的响应
  • 希望您知道定义多个响应和脚本调度方法

这是脚本:

//Define desired code and response name
def responseMap = [A: 'Response1', B: 'Response2']

//Check if the request is not empty
assert mockRequest.requestContent, 'Request is empty'

//Extract the code
def code = new XmlSlurper().parseText(mockRequest.requestContent).'**'.find{it.name() == 'code'}?.text()

//Return the respective response
return responseMap[code]
于 2017-07-14T16:40:49.767 回答