属性 传输的 SoapUI 响应解析

SoapUI response parsing for property transfer

我有一个包含事务 ID (TranId) 的 soap 响应。

<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

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

您可以使用 @attributename 子步骤查询属性。在您提供的示例中,<Response/> 元素没有附加名称空间,因此对该属性的查询很简单

//*:Response/@TranId

如果您只想要属性 value,请考虑应用 data(...) 函数:

data(//*:Response/@TranId)