【发布时间】:2013-01-02 15:43:01
【问题描述】:
我正在使用函数 SOAPHTTPNV 从 zOS 上的 Db2 9.1 调用 Web 服务。 结果返回ok,但是webservice被调用了多次, 结果集中的每一行(或响应中元素 ROW 的出现)一次。 这是为什么呢?
SQL
SELECT T.NR_KAT, T.PNR_F
FROM
XMLTABLE(
xmlnamespaces ('http://schemas.xmlsoap.org/soap/envelope/' AS
"soap",
'http://schemas/SERVICE/100921' AS "p"),
'$d/soap:Envelope/soap:Body/p:SERVICE_RESPONSE/p:document/p:result/p:ROW'
PASSING XMLPARSE(
DOCUMENT DB2XML.SOAPHTTPNV(
'http://serviceurl',
VARCHAR(''),
VARCHAR('<soap:Envelope
request_simplified
</soap:Envelope>'
))) AS "d"
COLUMNS
NR_KAT VARCHAR(2) PATH 'p:NR_KAT',
PNR_F VARCHAR(12) PATH 'p:PNR_F'
) AS T
;
SPUFI中SQL的结果
NR_KAT PNR_F
---------+---------+---------+---------+------
09 194513051834
08 194515042978
19 194515300398
来自 web 服务的 xml 响应
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<SERVICE_RESPONSE xmlns="http://schemas/SERVICE/100921">
<document>
<result>
<ROW>
<NR_KAT>09</NR_KAT>
<PNR_F>194513051834</PNR_F>
</ROW>
<ROW>
<NR_KAT>08</NR_KAT>
<PNR_F>194515042978</PNR_F>
</ROW>
<ROW>
<NR_KAT>19</NR_KAT>
<PNR_F>194515300398</PNR_F>
</ROW>
</result>
</document>
</SERVICE_RESPONSE>
</Body>
</Envelope>
【问题讨论】:
标签: xml web-services db2 resultset zos