我得到空返回,我正在兜圈子,毫无意义地摆弄。我让它与旧版本的 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)