我得到了null,我正在圈子里,毫无意义地摆弄。我让它使用旧版本的WSDL,尝试使用从Jax-WS生成的更新版本使用Axis。有一些小的变化。 我想得到价值" 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
答案 0 :(得分:2)
您在@
之前缺少so
来表明它是属性。所以你的整行应该是
//ns2:requestPortResponse/return/@so
答案 1 :(得分:1)
@ zx485答案输出:
so="6001305"
我是:
6001305
试试这个:
string(//ns2:requestPortResponse/return/@so)