У меня есть ответ SOAP от веб-службы, и я просто пытаюсь извлечь элемент «Сумма» из «Общая стоимость» в элементе body. Я знаком с тем, как это сделать в JSON, но я изо всех сил пытаюсь найти любой материал в Интернете о том, как это сделать с помощью SOAP, используя Javascript/jQuery.Извлечение данных из SOAP с помощью Javascript
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:TotalCostResponse xmlns="http://get_total_cost_request.business.ws.test.com" xmlns:ns1="http://business.ws.test.com" xmlns:ns2="http://get_total_cost_response.business.ws.test.com">
<ns2:MSG>
<ns2:HEADER>
<ns2:SITENO>1</ns2:SITENO>
<ns2:SYSTEM_ID>S01</ns2:SYSTEM_ID>
<ns2:CLUSTER_NAME>BUSINESS</ns2:CLUSTER_NAME>
<ns2:SERVICE_METHOD>TOTAL_COST</ns2:SERVICE_METHOD>
<ns2:VERSION_NO>1.0</ns2:VERSION_NO>
</ns2:HEADER>
<ns2:BODY>
<ns2:TOTAL_COST>
<ns2:AMOUNT>2139.82</ns2:AMOUNT>
<ns2:CURRENCY>GBP</ns2:CURRENCY>
</ns2:TOTAL_PREMIUM>
</ns2:BODY>
</ns2:MSG>
</ns1:TotalCostResponse>
</soap:Body>
</soap:Envelope>
В JSON это было бы чем-то вроде;
var obj = JSON.parse(data.TotalCostResponse.MSG.BODY.TOTALCOST.AMOUNT);
но для жизни меня я не могу разобраться, как это сделать с помощью SOAP. Любая помощь будет оценена по достоинству!
Update 1 Вызов делается с помощью метода AJAX Jquery, в соответствии с консоли MSG является неопределенным. Может ли это быть связано с пространством имен SOAP?
$.ajax({
type: "POST",
url: URL,
data: dataSet,
dataType: "xml",
contentType: "text/xml; charset=\"utf-8\"",
success: function(data) {
obj = $.parseXML(data.TotalCostResponse.MSG.BODY.TOTAL_COST.AMOUNT);
}});
Спасибо за помощь! Я добавил проблему в обновление, если вы в состоянии помочь больше –