SoapHttpClientProtocol クラスを使用して SOAP 呼び出しを行う ASP.NET Web アプリケーションを IIS で実行しています。ここ数日で、いくつかの XP マシンが、SOAP サービスの呼び出し時にタイムアウト エラーを報告し始めました。
テスト アプリからのスタック トレース:
System.Net.WebException: The operation has timed out
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at TestWS.localhost.Service1.HelloWorld() in C:\Prototypes\TestWS\Web References\localhost\Reference.cs:line 78
at ASP.default_aspx.__Renderform1(HtmlTextWriter __w, Control parameterContainer) in c:\Inetpub\wwwroot\TestWS\Default.aspx:line 17
TCP/Trace と Wireshark を使用すると、リクエストのヘッダーは送信されているが、コンテンツは送信されていないことがわかります。ただし、コンテンツ長の HTTP パラメータは正しく、コンテンツ ストリームがフラッシュされていないかのようです。
Microsoft の更新プログラムがこの問題の原因であると思われます。KB970430、KB971737、KB968389の可能性があります。この問題は、IIS 5.x (IIS の XP バージョン) に限定されているようです。