Webservice報錯客戶端發現響應內容類型爲「application/json;charset=UTF-8」,但應爲「text/xml」。

控制檯對接Webservice正常,一樣的方法在Web項目上報錯:json

客戶端發現響應內容類型爲「application/json;charset=UTF-8」,但應爲「text/xml」。
請求失敗,錯誤信息爲:
--
{
 "code" : "03010250002",
 "msg" : "Illegal json string",
 "data" : ""
}
--.

說明: 執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中致使錯誤的出處的詳細信息。 

異常詳細信息: System.InvalidOperationException: 客戶端發現響應內容類型爲「application/json;charset=UTF-8」,但應爲「text/xml」。
請求失敗,錯誤信息爲:
--
{
 "code" : "03010250002",
 "msg" : "Illegal json string",
 "data" : ""
}
--.
c#

按照網上的資料找到的方法:app

一、重寫代理類的請求或響應的方法ide

 在代理類中重寫GetWebResponse方法來設置響應的ContentType:工具

protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request) { var response = base.GetWebResponse(request); if (response.ContentType == "application/json;charset=UTF-8") response.ContentType = "text/xml"; return response; } protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request, IAsyncResult result) { var response = base.GetWebResponse(request,result); if (response.ContentType == "application/json;charset=UTF-8") response.ContentType = "text/xml"; return response; }

調試報錯:spa

該類未實現此屬性。

說明: 執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中致使錯誤的出處的詳細信息。 

異常詳細信息: System.NotImplementedException: 該類未實現此屬性。

源錯誤: 

代理

行 39:             var response = base.GetWebResponse(request);
行 40:             if (response.ContentType == "application/json;charset=UTF-8")
行 41: response.ContentType = "text/xml"; 行 42:             return response;
行 43:         }

 

重寫請求方法GetWebResponse調試

protected override System.Net.WebRequest GetWebRequest(Uri uri) { System.Net.WebRequest request = base.GetWebRequest(uri); request.ContentType = "text/xml"; return request; }

結果仍是報錯:客戶端發現響應內容類型爲「application/json;charset=UTF-8」,但應爲「text/xml」。code

 

後來調試發現是URL寫錯了,因是用vs的開發命令工具生成的代理類,手動設置的URL,設置錯誤致使。xml

SOAPUI生成的代理類也同樣要注意URL,URL對了就正常了。

順便附上用vs的開發命令工具生成代理類的方法,其實就是調用了wsdl.exe 生成代理類

打開vs開發控制檯

wsdl /language:c# /n:命名空間 /out:D:/SOAPUI_CS/類名.cs wsdl文件地址

 

SoapUI生成代理類方法

 

 

相關文章
相關標籤/搜索