我有一個ASP.NET Web服務,當我偶爾調用它時,它會返回正確的響應,其他時候它會返回異常The request failed with HTTP status 401: OK.
有人可以請我提供一些原因,會發生?由於我無法在HTTP 401上找到任何內容,並且出現OK
的消息,因爲200是正常的,而且401是未授權的...爲什麼我的Web服務在IIS6中託管會返回?什麼原因導致「HTTP狀態401:確定」
這裏的直接異常詳細信息:
Message:
The request failed with HTTP status 401: OK.
Stack Trace:
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at ws.Main.MethodName(param1, param2)
我會試圖讓這個錯誤是Wireshark數據包跟蹤,當我隨其提供的。
客戶端和Web服務都是我們維護的代碼。該異常只是間歇性發生,並非總是如此,通過的憑證詳細信息是帳戶的有效AD用戶詳細信息,而IIS網站使用的是Windows身份驗證。
當收到401時,請求發出時請求的Web服務的數據是否存在?它可能是Web服務中的一個「bug」,或者Web服務無法找到請求的數據,並返回[401而不是404](http://stackoverflow.com/questions/4038981/)爲了安全起見,或者它可能完全是其他的東西,它可以返回-http-401-for-a-non-existant-resource-404-to-preve) – Zabba
我收到非常零星的401:未經授權,所以這個問題引起了我的注意。你是否從服務中捕獲異常細節?您是否有權訪問服務器以查看事件查看器中是否有信息?我也試圖得到一個分析器,所以我很好奇你發現了什麼。您使用哪種綁定和安全模式? – McArthey
問題是我們看到這個401確定有時會返回,即使方法代碼只是在另外一個空方法中返回True。正如我現在在我更新的問題中所說的,客戶端和Web服務都是我們維護的代碼。 – Seph