0

我正在开发我的第一个仪表板小部件并尝试调用网络服务。但我不断获得 XMLHTTPRequest 状态 0。

以下是代码

    var soapHeader = '<?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/\">\n'

                             +'<soap:Body>\n'
                             +'<UsersOnline xmlns=\"http://wsSync\" />\n'
                             +'</soap:Body>\n'
                             +'</soap:Envelope>';


var destinationURI = 'http://ws.storan.com/webservicesformraiphone/wssync.asmx';

var actionURI = 'http://wsSync/UsersOnline';
function callWebService() {
  try{
       SOAPObject = new XMLHttpRequest();
       SOAPObject.onreadystatechange = function() {fetchEnd(SOAPObject);}
       SOAPObject.open('POST', destinationURI, true);


       SOAPObject.setRequestHeader('SOAPAction', actionURI);
       SOAPObject.setRequestHeader('Content-Length', soapHeader.length);
       SOAPObject.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
       var requestBody = soapHeader;
       SOAPObject.send(requestBody);


  } catch (E)
  {
     alert('callWebService exception: ' + E);
  }
}

function fetchEnd(obj)
{

   if(obj.readyState == 4){ 

        if(obj.status==200)
        {
            alert("Yahooooooo");
        }
   }
}

有任何想法吗?

4

1 回答 1

1

你添加了吗

<key>AllowNetworkAccess</key>
<true/>

到列表中?如果没有,外部世界将无法使用。

如果尝试跨域,您也可能会遇到问题。

于 2010-06-07T11:24:33.043 回答