如何使用PL/SQL Oracle Apex解析SOAP响应

3
我正在尝试解析一个xml响应,但是没有找到任何数据。以下是代码。请有人帮助我。

WITH DATA AS (SELECT '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GetDeliveryReportResponse xmlns="MyTest WebService">
         <GetDeliveryReportResult>919748021520500 -3-4/6/2017 1:18:49 PM,919400159619-3-4/6/2017 1:19:20 PM,||rc_smsSND_NUMB-11-4/6/2017 6:10:00 PM,||rc_smsSND_NUMB-11-4/6/2017 6:11:00 PM</GetDeliveryReportResult>
      </GetDeliveryReportResponse>
   </soap:Body>
</soap:Envelope>' xml FROM dual)

SELECT did
    FROM data,
          xmltable(XMLNamespaces ('http://schemas.xmlsoap.org/soap/envelope/'
                                   AS "soap"),
                   '/soap:Envelope/soap:Body/GetDeliveryReportResponse'
                   PASSING XMLTYPE(xml)
                   COLUMNS
                     did Varchar2(1000) PATH 'GetDeliveryReportResult');

1个回答

0

你只需要在你已经编写的代码中添加一个默认声明。

WITH DATA AS (SELECT '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GetDeliveryReportResponse xmlns="MyTest WebService">
         <GetDeliveryReportResult>919748021520500 -3-4/6/2017 1:18:49 PM,919400159619-3-4/6/2017 1:19:20 PM,||rc_smsSND_NUMB-11-4/6/2017 6:10:00 PM,||rc_smsSND_NUMB-11-4/6/2017 6:11:00 PM</GetDeliveryReportResult>
      </GetDeliveryReportResponse>
   </soap:Body>
</soap:Envelope>' xml FROM dual)

SELECT did
    FROM data,
          xmltable(XMLNamespaces (default 'MyTest WebService',
          'http://schemas.xmlsoap.org/soap/envelope/'
                                   AS "soap"),
                   '/soap:Envelope/soap:Body/GetDeliveryReportResponse'
                   PASSING XMLTYPE(xml)
                   COLUMNS
                     did Varchar2(1000) PATH 'GetDeliveryReportResult');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接