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



我得到空返回,我正在兜圈子,毫无意义地摆弄。我让它与旧版本的 WSDL 一起工作,试图让它与从 Jax-WS 生成的较新版本一起使用,使用的是安讯士。有一些小的变化。我想从响应中获取值"6001305"。我希望有人能发现问题。我很确定目标很好,这很简单。我一点也不流利。

我正在处理的响应:

<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)

最新更新