SoapUI 模拟响应 - 脚本返回 null
SoapUI Mock Response - Script returned null
请高人指点下问题
我已经设置了一个 Mock Response,它成功地响应了传入的请求。我正在尝试使用 'SCRIPT' 调度方法从入站请求中提取某些详细信息。
我添加了以下行,但是当我执行它时returns 'Script returned [null]'
def holder = new com.eviware.soapui.support.XmlHolder( mockRequest.requestContent )
我是否遗漏了什么,因为我可以看到请求到达 'Request' window。
非常感谢,
当我使用 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]");
试试这个
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder("mockRequest#Request")
其中 mockRequest 是您的请求名称,
如果您希望响应被提取为 XML
,您可以将 mockRequest#Request 更改为 mockRequest#Response
另外,如果要从 XML 中选取任何值,您可以使用下面的
def value= holder.getNodeValue( '//*:tagname/*:tagname1' )
这将从响应中获取值
请高人指点下问题
我已经设置了一个 Mock Response,它成功地响应了传入的请求。我正在尝试使用 'SCRIPT' 调度方法从入站请求中提取某些详细信息。
我添加了以下行,但是当我执行它时returns 'Script returned [null]'
def holder = new com.eviware.soapui.support.XmlHolder( mockRequest.requestContent )
我是否遗漏了什么,因为我可以看到请求到达 'Request' window。
非常感谢,
当我使用 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]");
试试这个
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder("mockRequest#Request")
其中 mockRequest 是您的请求名称,
如果您希望响应被提取为 XML
,您可以将 mockRequest#Request 更改为 mockRequest#Response另外,如果要从 XML 中选取任何值,您可以使用下面的
def value= holder.getNodeValue( '//*:tagname/*:tagname1' )
这将从响应中获取值