【发布时间】:2018-06-18 20:37:58
【问题描述】:
我正在尝试在 JavaScript 中创建一个 SOAP 请求,但我得到了错误的响应。
这是我的要求:
callSOAP() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', 'https://webapi.allegro.pl/service.php', true);
var sr =
'<?xml version="1.0" encoding="utf-8"?>' +
'<SOAP-ENV:Envelope ' +
'xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ' +
'xmlns:main="https://webapi.allegro.pl/service.php" ' +
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
'xmlns:xsd="http://www.w3.org/2001/XMLSchema">' +
'<SOAP-ENV:Body>' +
'<main:DoGetCountriesRequest>' +
'<main:countryCode>1</main:countryCode>' +
'<main:webapiKey>xxxxxxxx</main:webapiKey>' +
'</main:DoGetCountriesRequest>' +
'</SOAP-ENV:Body>' +
'</SOAP-ENV:Envelope>';
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
console.log(xmlhttp.response);
}
};
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
xmlhttp.send(sr);
}
我尝试调用“DoGetCountriesRequest”方法,但响应是状态代码 500,并显示消息“无效 XML”。
在 JavaScript 中调用 SOAP 方法是否正确?我的请求有什么问题?
【问题讨论】:
标签: javascript soap xmlhttprequest