【发布时间】:2016-05-04 13:55:37
【问题描述】:
我正在尝试在 SoapUI 中构建一个模拟服务,该服务根据请求中传递的值动态返回响应。示例:
<foo>
<bar>
<ID>Response1</ID> <--- I want to extract this
<ReferenceID>stuff</ReferenceID>
<CreationDate>2016-05-01T11:34:56Z</CreationDate>
</bar>
</foo>
所以我将我的 DISPATCH 设置为 SCRIPT 并尝试了以下操作(返回值应指定返回的响应的名称):
def req = new XmlSlurper().parseText(mockRequest.requestContent)
return "${req.foo.bar.ID}"
还有这个:
def holder = new com.eviware.soapui.support.XmlHolder(mockRequest.requestContent )
def arg1 = holder.getNodeValue("ID") // also tried "//ID"
return arg1.toString();
两者都不起作用,模拟总是返回默认响应 - 希望你们中的一些人可以帮助我解决问题:)
【问题讨论】:
-
可能是您的请求可能包含一些命名空间,因此当您尝试
//ID时它可能会有所帮助。也许你想试试//*:ID? -
"//*:ID" 在我的第二种方法中起作用。谢谢饶:)
标签: xpath soap groovy mocking soapui