Sql-Server

IIS 7.5 和 Web 服務出現奇怪的 400 錯誤?

  • October 6, 2012

好吧,這是一個長鏡頭。我已經考慮了好幾個小時。我不知道如何解決這個問題。但也許這裡有人可以認識到問題並指出正確的方向。

我在另一台伺服器上有一個 IIS 7.5 伺服器和一個 MSSQL 數據庫。在 IIS 伺服器上有一個與 MSSQL 伺服器通信的 web 服務。

問題是,當 MSSQL 伺服器需要將數據發送回 Web 服務並且 Web 服務將其傳遞回 Web 瀏覽器 (JSON) 時,我會收到 400 錯誤。查看 IIS 的日誌,只有 400 ….僅此而已。當我在瀏覽器 URL 欄位中呼叫服務時,我得到以下資訊:“伺服器在處理請求時遇到錯誤。請參閱服務幫助頁面以建構對服務的有效請求。”

我呼叫網路服務的方式沒有任何問題。它以前在不同的伺服器(開發伺服器)上工作過。

有人知道這可能是什麼嗎?400 表示 URL 格式錯誤……不是。為什麼當沒有數據返回給使用者時……一切正常。但是,當從 MSSQL DB 中獲取數據時……會出現 400 錯誤。

希望有人有一些提示如何解決它。提前謝謝。

嘗試在拼圖的每一步進行捕捉:

從您的客戶端的wireshark 開始,並驗證您發出的請求沒有格式錯誤。可能伺服器名稱較長,或者存在導致其與生產伺服器崩潰的無效字元。

然後點擊 IIS 並確保啟用了請求日誌記錄。發出請求,然後查看 IIS 日誌。如果 IIS 堆棧生成錯誤,您可能會獲得更具描述性的錯誤程式碼。

從那裡,檢查您的應用程序事件日誌,以確保您沒有記錄任何應用程序級別的異常。檢查您的應用程序池是否正常執行。檢查您是否未啟用任何 URL 重寫。檢查是否配置了正確的應用程序處理程序 - 或至少沒有被覆蓋。

此時,如果請求正在發送到您的應用程序,您可能應該與開發人員交談。但是,您可以執行 SQL Server Profiler 跟踪以確保它成功訪問數據庫。

我確定我錯過了一些錯誤案例,但我希望這至少可以為您指明正確的方向。

引用自:https://serverfault.com/questions/435276