【问题标题】:How to parse soap response using plsql oracle apex如何使用plsql oracle apex解析soap响应
【发布时间】:2017-09-01 15:29:24
【问题描述】:

我试图解析一个 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');

【问题讨论】:

    标签: xml oracle soap plsql


    【解决方案1】:

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

    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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      相关资源
      最近更新 更多