对于所有SoapUI常客来说,这可能是一个非常简单的方法 .
在SoapUI模拟服务响应脚本中,如何在我回复的请求中提取值?
假设传入的请求有
<ns1:foo>
<ns3:data>
<ns3:CustomerNumber>1234</ns3:CustomerNumber>
</ns3:data>
</ns1:foo>
如何将“1234”变为Groovy变量?我尝试使用xmlHolder,但我似乎有错误的XPath .
(我知道如何设置属性并将其值集成到响应中 . )
4 回答
如果你想访问SOAP请求并进行一些XPath处理,那么在soapUI中有一个更简单的方法,这要归功于GPath和XmlSlurper的强大功能 .
以下是您访问客户编号的方式:
从Groovy 1.6.3(在soapUI 2.5及更高版本中使用)开始,默认情况下,XmlSlurper在名称空间感知和非验证模式下运行,因此您无需执行任何其他操作 .
干杯!
Shonzilla
还有一个例子:
在这个例子中,我们从请求中获取两个参数并将它们转换为双精度数 . 这样我们就可以对参数进行计算 . 此示例的示例SoapUI响应是:
您可以看到计算结果如何传递回响应 .
在纯Java(不使用SoapUI)中,您只需创建一个自定义命名上下文,如下所示:
然后,像这样解析它:
扩展http://www.soapui.org/soap-mocking/creating-dynamic-mockservices.html并基于http://www.soapui.org/apidocs/com/eviware/soapui/support/xmlholder.html我想出了这个: