在 属性 中返回 Null 在 SoapUI 中传输

Getting Null returned in Property Transfer in SoapUI

我返回的是空值,我在兜圈子,毫无意义地摆弄。我让它与旧版本的 WSDL 一起工作,试图让它与使用 Axis 的 Jax-WS 生成的新版本一起使用。有一些小的变化。 我想从响应中获取值“6001305”。 我希望有人会发现问题。我很确定 Target 很好,它非常简单。我一点也不流利。

我正在处理的回复:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:requestPortResponse xmlns:ns2="http://transferobjects.abc.abc.org">
         <return so="6001305" state="Awaiting Response">
            <success>true</success>
         </return>
      </ns2:requestPortResponse>
   </soap:Body>
</soap:Envelope>

我的源设置(属性 响应,路径语言 XPath)

declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://abc.abc.org/api/serviceorder';
declare namespace ns2='http://transferobjects.abc.abc.org';
//ns2:requestPortResponse/return/so

您在 so 之前缺少一个 @ 来表明它是一个属性。所以你的整行应该是

//ns2:requestPortResponse/return/@so

@zx485 答案输出:

so="6001305"

我的:

6001305

试试这个:

string(//ns2:requestPortResponse/return/@so)