SoapUI模拟响应-脚本返​​回null

时间:2019-02-11 16:28:48

标签: mocking response soapui

请提供有关打击查询的建议。

我已经设置了模拟响应,可以成功响应传入的请求。我正在尝试使用“ SCRIPT”调度方法从入站请求中提取某些详细信息。

我添加了以下行,但是执行时返回“脚本返回[null]”

def持有人=新的com.eviware.soapui.support.XmlHolder(mockRequest.requestContent)

我错过了什么吗?我可以在“请求”窗口中看到请求。

非常感谢,

2 个答案:

答案 0 :(得分:0)

当我使用XmlHolder解析SoapUI响应时,我在响应上使用了不同的属性来馈送XmlHolder。

例如

holder = new XmlHolder( messageExchange.responseContentAsXml );

在此之后,您可能必须先定义一些名称空间,然后才能提取感兴趣的值。

下面纯粹是一个伪示例,试图帮助您动起来...

holder.namespaces["ns1"] = "urn:someOrg:app:userDetails:domain:1";

def userId = holder.getNodeValue("//ns1:userDetailsArray[1]/ns1:user[1]/ns1:id[1]");
def userName = holder.getNodeValue("//ns1:userDetailsArray[1]/ns1:user[1]/ns1:name[1]");

答案 1 :(得分:0)

尝试

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
def holder = groovyUtils.getXmlHolder("mockRequest#Request")

其中mockRequest是您的请求的名称,

如果您希望将响应以XML格式接收,则可以使用模拟请求#Response更改模拟请求#Request

另外,您还可以在

下从XML中选择任何值。
  def value= holder.getNodeValue( '//*:tagname/*:tagname1' )

这将使您从响应中获得价值