При попытке вызвать службу SOAP с использованием jQuery в консоли браузера отображается ошибка 500 внутренних серверов, но когда я вызываю ту же службу с той же полезной нагрузкой с использованием интерфейса SOAP, она работает нормально.
Ниже ответ об ошибке XML возвращается с сервера:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Error reading XMLStreamReader.</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Использование приведенного ниже кода jQuery для вызова службы SOAP:
`
$(document).ready(function () {
var soapMessage =
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.wss.phoenix.com/">\
<soapenv:Header/>\
<soapenv:Body>\
<ser:getConsumerDetails>\
<SCNO>VN02095028440</SCNO>\
<ACCOUNTNO/>\
<DISCOMCODE/>\
<REQUESTFOR>SCNOACCDETAILS</REQUESTFOR>\
</ser:getConsumerDetails>\
</soapenv:Body>\
</soapenv:Envelope>';
$.ajax({
url: "http://IP:PORT/wss/services/ConsumerDiscomDetails?wsdl",
type: "POST",
dataType: "xml",
contentType: "text/xml; charset=\"utf-8\"",
crossDomain:true,
headers: {
SOAPAction: ""
},
data: soapMessage,
success: function(soapResponse){
console.log("soapResponse");
//DO SOMETHING
}
});
});
`