SoapUI响应解析属性转移

时间:2016-04-06 08:21:23

标签: xml-parsing xquery soapui

我有一个包含交易ID(TranId)的肥皂回复。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m0="http://schemas.blablabla.com/two/1.0/filter.xsd" xmlns:m="http://schemas.blablabla.com/two/1.0/filter.wsdl">
   <SOAP-ENV:Body>
      <m:AcctDebitRp xmlns:m="http://schemas.blablabla.com/two/1.0/filter.xsd">
         <Response Response="1" TranId="**30538801**" Ver="14.3" Product="filter">
            <m0:ApprovalCode>557885</m0:ApprovalCode>
         </Response>
      </m:AcctDebitRp>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

如何检索交易ID值?

我在SoapUI属性传输步骤中使用以下代码来检索ApprovalCode的值:

declare namespace ns1='http://schemas.blablabla.com/two/1.0/filter.xsd';
//ns1:ApprovalCode

是否可以在属性传输步骤中使用XQuery或使用groovy脚本步骤获取TranId值?

1 个答案:

答案 0 :(得分:1)

您可以使用TYPE3子步骤查询属性。在您提供的示例中,console.log(attrs)元素没有附加名称空间,因此对该属性的查询是一个简单的

@attributename

如果您只想要属性,请考虑应用<Response/>函数:

//*:Response/@TranId