我正在尝试创建一个连接到此 Web 服务的基本 HTML 页面: http ://wsf.cdyne.com/WeatherWS/Weather.asmx 经过数小时修补教程和代码示例后,我完全不知所措为什么这不起作用。(我的请求收到 404,或者根本没有状态..)这是扩展演示的一部分,该演示已经使用 Soap 连接到类似的 Web 服务,教授的示例与好..
我的代码如下:
xmlHttpObj.open("POST", "http://wsf.cdyne.com/WeatherWS/Weather.asmx", true);
xmlHttpObj.setRequestHeader("Content-Type", "text/xml");
xmlHttpObj.setRequestHeader("SOAPAction", "http://ws.cdyne.com/WeatherWS/GetCityForecastByZIP");
var envelope = '<?xml version="1.0" encoding="utf-8"?> \n' +
'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
' xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
' xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
' <soap:Body> \n' +
' <GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/"> \n' +
' <ZIP>' + selectedZip + '</ZIP> \n' +
' </GetCityForecastByZIP> \n' +
' </soap:Body> \n' +
'</soap:Envelope> ';
xmlHttpObj.onreadystatechange = UseResultsCallBack;
xmlHttpObj.send(envelope);
xmlHttpObj
是一个有效的 xmlHttpRequest 对象,并且selectedZip
是一个邮政编码。这都是客户端代码,所以可能存在某种跨域问题,但我不认为这是这种情况下的问题......