How to parse the reaction of soap using aps apl apac
I tried to parse xml response but didn't get any data. The code is below. Anyone please help me
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');
+3
source to share
1 answer
You just need to add a default declaration to the code you've already written.
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');
0
source to share