簡體   English   中英

Web服務IIS7 .net Framework 4 http 400

[英]web service IIS7 .net framework 4 http 400

在我們的測試服務器上,當我嘗試轉到IIS托管的WCF服務的URL時,出現HTTP 400錯誤。 當我查看服務器上的WCF日志時,它指出“由於正文為空,因此無法讀取消息正文”。 如果我嘗試對同一台服務器上的另一項服務執行相同的操作,則它可以正常工作,並且可以獲得WSDL的路徑。

我也無法通過SoapUI連接到WSDL。 但是,我可以從Visual Studio連接到該服務。

我見過的大多數帖子都提到在配置文件中需要httpGetEnabled="true" 該屬性存在於測試服務器的web.config中。

其他帖子提到需要其他屬性,但是我不明白如果生產服務器在沒有它們的情況下為什么需要它們。

編輯以回應戴文:這是Fiddler對生產請求GET的原始視圖GET http://production.svc HTTP / 1.1接受:text / html,application / xhtml + xml, /接受語言:zh-代理:Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)Accept-Encoding:gzip,deflate連接:Keep-Alive主機:生產

這是Fiddler針對測試請求的原始視圖GET http://test.svc HTTP / 1.1接受:text / html,application / xhtml + xml, /接受語言:zh-CN用戶代理:Mozilla / 5.0 (兼容; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)Accept-Encoding:gzip,deflate連接:Keep-Alive主機:test

這是試圖使用IE9連接到服務。

轉至CodeCaster:它正在使用框架4並在asp.net v4.0應用程序池中運行。 框架4安裝在服務器上。 如果我使用設置的測試應用程序,則可以連接到該服務,並向其中一種方法發送請求,它可以正常工作。

我的問題是使用IE或soapUI連接到服務,因為我們的供應商只有在能夠這樣做時才更新他們在測試系統上的端點。

HTTP 400是BadRequest 當服務器由於無法處理請求而拒絕請求時,將拋出此錯誤。 在這種情況下,您收到的錯誤消息很有意義。 這也意味着,該服務器能夠找到您的端點。 因此,問題可能出在httpGetEnabled

您需要做的是查看將發送到服務器的HTTP消息。 為此,我建議將您的客戶端指向一個代理(提琴手),然后配置提琴手將請求轉發到服務器。 然后,您需要確保請求的格式符合您的期望。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM