2010-06-22 66 views
0

我收到驗證錯誤,例如:「沒有處理指令以'xml ....'開始,當我嘗試驗證我的代碼之後,將其放入我正在使用的第三方應用程序。如何發送帶有Javasript的soap消息,該消息嵌入在XSL頁面中而不會出現此錯誤?這裏是有問題的代碼:Javascript的XSL驗證錯誤

<script language="javascript"> 

function test1(newSymbol){ 

var symbol = newSymbol; 
var xmlhttp = new XMLHttpRequest(); 

xmlhttp.open("POST", "http://www.webservicex.net/stockquote.asmx?op=GetQuote",true); 
xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState == 4 &amp;&amp; xmlhttp.status == 200) { 
    alert(xmlhttp.responseText); 
    // http://www.terracoder.com convert XML to JSON 
    var json = XMLObjectifier.xmlToJSON(xmlhttp.responseXML); 
    var result = json.Body[0].GetQuoteResponse[0].GetQuoteResult[0].Text; 
    // Result text is escaped XML string, convert string to XML object then convert  to  JSON object 
    json = XMLObjectifier.xmlToJSON(XMLObjectifier.textToXML(result)); 
    alert(symbol + ' Stock Quote: $' + json.Stock[0].Last[0].Text + '\n' + 'Company  Name: ' + json.Stock[0].Name[0].Text); 
    document.getElementById('price').innerHTML = json.Stock[0].Last[0].Text; 
    document.getElementById('name').innerHTML = json.Stock[0].Name[0].Text; 

    } 
    else if (xmlhttp.readyState == 4 &amp;&amp; xmlhttp.status != 200) { 
    alert('Server Issue'); 

    } 
} 
xmlhttp.setRequestHeader("SOAPAction", "http://www.webserviceX.NET/GetQuote"); 
xmlhttp.setRequestHeader("Content-Type", "text/xml"); 
var xml = '<?xml version="1.0" encoding="utf-8"?>' + 
    '<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> ' + 
     '<GetQuote xmlns="http://www.webserviceX.NET/"> ' + 
     '<symbol>' + symbol + '</symbol> ' + 
     '</GetQuote> ' + 
    '</soap:Body> ' + 
    '</soap:Envelope>'; 
xmlhttp.send(xml); 
} 

</script> 

在我聲明肥皂標題後立即得到var xml =行的錯誤。

感謝您的幫助! :)

回答

0

只需刪除XML聲明:在這種情況下不需要,因爲版本和編碼僞屬性指定默認值 - 1.0和utf-8。

+0

所以我想通了,我可以使用SOAP消息字符串本身的CDATA標籤,它的工作。但是,現在我的xmlhttp.open(....)行出現「Access is denied」錯誤。我已經啓用IE瀏覽器misc「允許跨域訪問」。此代碼正在從Https域調用到非安全域...這是爲什麼? 。 – Lucas 2010-06-24 16:34:23