对于所有SoapUI常客来说,这可能是一个非常简单的方法。
在SoapUI模拟服务响应脚本中,如何在我回复的请求中提取值?
让我们说传入的请求有
<ns1:foo> <ns3:data> <ns3:CustomerNumber>1234</ns3:CustomerNumber> </ns3:data> </ns1:foo>
如何将“1234”变为Groovy变量?我尝试使用xmlHolder,但我似乎有错误的XPath。
(我知道如何设置属性并将其值集成到响应中。)
如果您想访问SOAP请求并进行一些XPath处理,那么由于
GPath和
XmlSlurper的强大功能,在soapUI中有一种更简单的方法。
以下是您访问客户编号的方式:
def req = new XmlSlurper().parseText(mockRequest.requestContent) log.info "Customer #${req.foo.data.CustomerNumber}"
从Groovy 1.6.3(在soapUI 2.5及更高版本中使用)开始,默认情况下,XmlSlurper在名称空间感知和非验证模式下运行,因此您无需执行任何其他操作。
干杯!Shonzilla