首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Db2 9.1zos上的SOAPHTTPNV

Db2 9.1zos上的SOAPHTTPNV
EN

Stack Overflow用户
提问于 2013-01-02 23:43:02
回答 2查看 752关注 0票数 0

我使用函数SOAPHTTPNV从zOS上的Db2 9.1调用Db2服务。结果返回正常,但是webservice被多次调用,结果集中的每一行调用一次(或响应中元素行的出现)。为什么会这样呢?

SQL

代码语言:javascript
复制
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结果

代码语言:javascript
复制
NR_KAT  PNR_F
---------+---------+---------+---------+------
09      194513051834
08      194515042978
19      194515300398

来自webservice的xml响应

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2013-01-08 22:47:31

尝试使用XMLTABLE函数的BY REF子句:

代码语言:javascript
复制
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 BY REF XMLPARSE(...))) AS D
              COLUMNS NR_KAT VARCHAR(2)  PATH 'p:NR_KAT',
                      PNR_F  VARCHAR(12) PATH 'p:PNR_F') AS T
;
票数 0
EN

Stack Overflow用户

发布于 2013-01-12 08:22:08

症状与APAR PM52237中描述的症状相匹配。APAR PM52237修复了为XMLTABLE返回的每行调用XMLTABLE函数的参数的问题。请确保已经在z/OS系统上安装了PTF UK77921(用于DB2 9)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14124809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档