在我們的測試服務器上,當我嘗試訪問IIS中託管的WCF服務的URL時,出現HTTP 400錯誤。當我查看服務器上的WCF日誌時,它指出「消息正文不能被讀取,因爲它是空的」。如果我嘗試在同一臺服務器上爲另一個服務做同樣的事情,那麼它可以正常工作,並獲得WSDL的路徑。Web服務IIS7 .net框架4 HTTP 400
我無法通過SoapUI連接到WSDL。但是,我可以連接到Visual Studio的服務。
我見過的大多數帖子在配置文件中提到需要httpGetEnabled="true"
。該屬性存在於測試服務器的web.config中。
其他職位提到需要額外的屬性,但我不明白爲什麼他們將需要如果生產服務器沒有他們的工作。
EDIT響應於達文: 這裏是從提琴手原始視圖用於生產請求 GET http://production.svc HTTP/1.1 接受:text/html的,應用/ XHTML + xml的,/ 接受語言:EN -US 的User-Agent:Mozilla的/ 5.0(兼容; MSIE 9.0; Windows NT的6.1; WOW64;三叉戟/ 5.0) 接受編碼:gzip,緊縮 連接:保持活動 主持人:生產
這是提琴手對測試要求的原始觀點 GET http://test.svc HTTP/1.1 Accept:text/html,application/xhtml + xml,/ Accept-Language:en-US User-Agent:Mozilla/5.0(compatible; MSIE 9.0; Windows NT 6.1; WOW64;三叉戟/ 5.0) 接受編碼:gzip,緊縮 連接:保持活動 主持人:測試
這是試圖用IE9連接到服務。
To CodeCaster: 它使用框架4並在asp.net v4.0應用程序池中運行。 Framework 4安裝在服務器上。如果我使用我設置的測試應用程序,則可以連接到該服務並向其中一個方法發送請求,並且工作正常。
我的問題是連接到IE或soapUI的服務,因爲我們的供應商不會在他們的測試系統上更新他們的端點,直到他們能夠這樣做。
什麼是「WCF日誌」?你有沒有啓用跟蹤?在應用程序和池中運行的服務是什麼?什麼.NET版本?服務的配置(特別是綁定)是什麼? .NET 3.5 WCF模塊是否安裝在服務器上? [.NET是否已在IIS中註冊?](http://stackoverflow.com/a/3935871/266143)。請展示一些研究工作。:-) – CodeCaster 2013-03-12 15:03:40