尝试学习WSDL并获得此“信息”;简单的;soapjavascript客户端可以正常工作
5年前,我在寻找一条老线索,要求使用Javascript编写最简单的SOAP代码 这是评分最高的评论,标记为回答:尝试学习WSDL并获得此“信息”;简单的;soapjavascript客户端可以正常工作,javascript,wsdl,Javascript,Wsdl,5年前,我在寻找一条老线索,要求使用Javascript编写最简单的SOAP代码 这是评分最高的评论,标记为回答: <html> <head> <title>SOAP JavaScript Client Test</title> <script type="text/javascript"> function soap() { var xmlhttp = new XMLHttpRe
<html>
<head>
<title>SOAP JavaScript Client Test</title>
<script type="text/javascript">
function soap() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', 'https://somesoapurl.com/', true);
// build SOAP request
var sr =
'<?xml version="1.0" encoding="utf-8"?>' +
'<soapenv:Envelope ' +
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
'xmlns:api="http://127.0.0.1/Integrics/Enswitch/API" ' +
'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">' +
'<soapenv:Body>' +
'<api:some_api_call soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' +
'<username xsi:type="xsd:string">login_username</username>' +
'<password xsi:type="xsd:string">password</password>' +
'</api:some_api_call>' +
'</soapenv:Body>' +
'</soapenv:Envelope>';
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
alert('done. use firebug/console to see network response');
}
}
}
// Send the POST request
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
xmlhttp.send(sr);
// send request
// ...
}
</script>
</head>
<body>
<form name="Demo" action="" method="post">
<div>
<input type="button" value="Soap" onclick="soap();" />
</div>
</form>
</body>
<html>
我在Google上搜索到一个实际的免费WSDL URL:
http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL
当我单击“Soap”按钮并查看控制台以查看代码运行时,出现以下错误:
无法加载XMLHttpRequest
. 回应
飞行前请求未通过访问控制检查:否
“Access Control Allow Origin”标头出现在请求的服务器上
资源。因此,不允许访问源“null”。反应
有HTTP状态代码405
有人能帮忙吗?我希望使用JavaScript实现这个SOAP客户端调用,以便更好地理解WSDL和SOAP
http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL