在模拟服务的脚本调度中将数据从 SOAP 请求传递到 SOAP 响应

Passing data from SOAP request to SOAP response in Script Dispatch of Mock Service

我在 SoapUI

中使用 Script Mock 服务 的分派

请求内容示例

<upload>
   <uploadtext>This is my first upload text</uploadtext>
   <uploadtext>second upload text</uploadtext>
</upload>

我的要求是将相同的信息传递给我的回复

<upload>
       <uploadtext>${uploadText1}</uploadtext>
       <uploadtext>${uploadText2}</uploadtext>
</upload>

我正在使用 SoapUI 并尝试使用 groovy 脚本来实现。我是groovy的新手,请让我知道是否有任何其他简单的方法可以完成。

这是我目前尝试过的方法。

import javax.xml.xpath.*
import groovy.xml.StreamingMarkupBuilder
import groovy.lang.Binding
import groovy.lang.Script

def util = new com.eviware.soapui.support.GroovyUtils(context)
def xml = new XmlSlurper().parseText(mockRequest.requestContext)
def uploadText1 = xml.body.upload.uploadtext[0]
def uploadText2 = xml.body.upload.uploadtext[1]
//above uploadText1 and uploadText2 are storing values from my request
//however I am struggling to assign these values to response 
context.setProperty("UploadText", uploadText1)
context.setProperty("UploadText", uploadText2)

无法看到我的回复与请求相同

感谢任何帮助。

谢谢。

这是因为您没有将所需的属性添加到上下文中。

更改以下语句。
发件人:

context.setProperty("UploadText", uploadText1)
context.setProperty("UploadText", uploadText2)

收件人:

context.uploadText1 = uploadText1
context.uploadText2 = uploadText2

顺便提一下其他的建议(如果没别的办法在Script Dispatch:

  • 不需要任何 import 声明
  • 不需要声明def util