2010-12-10 55 views
0

我有幾個項目,我剛剛從Visual Studio 2003和ASP.NET v1升級到Visual Studio 2008和ASP.NET v2。我明確地設置了一種「text/xml」,過去很好,瀏覽器會將它渲染爲xml,而IE甚至會將可愛的小+/-符號放在每個標記的旁邊。升級後,IE只渲染元素內容,並忽略所有標籤,就像內容是html一樣。升級後,響應是text/html而不是text/xml

Response.ContentType = "text/xml"; 
    String resp = "<soap:Envelope>...blah, blah, lots of xml...</soap:Envelope>\n"; 
    Response.Write(resp); 

我做了升級,因爲有人(直譯)大清洗了我們的服務器,它不得不重建,所以在這個過程中,我們就從IIS 5.1到IIS 6.0。

任何人都知道如何解決這個問題? TIA。

回答

1

你應該做到以下幾點內容寫入前:

Response.Buffer = true; 
Response.ClearContent(); 
Response.ClearHeaders(); 
Response.ContentType = "text/xml"; 

然後你寫你的XML數據轉換成響應後,只需撥打Response.End();,以確保沒有其他被添加/修改。


EDIT1:讓我們嘗試以下操作:

添加行<?xml version='1.0' encoding='UTF-8'?>啓動字符串之前 「<肥皂:信封> ...」

如果仍然沒有得到它的工作,然後我最後一個鏡頭是改變內容類型application/soap+xml

+0

我試過這個,但我仍然得到「客戶端發現響應內容類型的文本/ HTML;字符集= utf-8 ',但預計'text/xml'。請求失敗,錯誤「 – 2010-12-10 21:15:59

+0

確實添加了<?xml version ='1.0'encoding ='UTF-8'?>解決? – Skorpioh 2010-12-14 07:47:55

+0

沒有工作,但它讓我一路尋找出了什麼問題,謝謝! – 2011-01-21 21:04:30

相關問題