外部のWebサービスに接続するASP.NetWebサイトがあり、数日前に突然機能しなくなりました。
基本的なコードは次のとおりです。
Try
request = New ExternalWebService.ProcessRequestService
' Error occurs here:
response = request.processCommand(parameters)
' Do some other stuff with response here
Catch webEx As System.Net.WebException
' This triggers and generic error gets displayed
Catch ex As Exception
Finally
End Try
は例外でSystem.Net.WebException
トリガーされ、次のSendFailure
スタックトレースを返します。
基になる接続が閉じられました:送信時に予期しないエラーが発生しました。- System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequestリクエスト)で System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequestリクエスト)で System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName、Object [] parameters)で ExternalWebService.ProcessRequestService.processCommand(parameters)で
開発マシンでこの問題をデバッグしようとすると、正常に動作し、例外は発生しません。
Webサーバーの最近の更新はなく、FireFoxを使用してWebサーバーからwsdlサービスに接続できます(ただし、IEには接続できませんが、Webサーバー上のIEに関する別の問題に関連している可能性があります)
ここでエラーメッセージ#2に投稿されたすべての解決策を試しましたが、設定KeepAlive = False
とを含みますServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
が、問題を解決するために機能したものはありません。
WebサーバーはWindowsServer2003とIIS6.0を実行しています
このエラーが1つのマシンで発生するが、別のマシンでは発生しない原因は何ですか?
編集:トレース情報は次のとおりです。
System.Web.Services.Asmx情報:0:XmlSerializerの呼び出し[XmlSerializerの作成] メソッド:System.Xml.Serialization.XmlSerializer#1669721556 :: FromMappings(System.Xml.Serialization.XmlMapping []#4002219 = [4]、ExternalWebService.ProcessRequestService#93032588 = ExternalWebService.ProcessRequestService) 呼び出し元:System.Web.Services.Protocols.SoapClientType#42808772 ::。ctor(ExternalWebService.ProcessRequestService#93032588 = ExternalWebService.ProcessRequestService) ProcessId = 2796 LogicalOperationStack = ThreadId = 14 DateTime = 2012-12-21T17:02:39.2826250Z タイムスタンプ=61755143048799345 System.Web.Services.Asmx情報:0:XmlSerializerから戻る[XmlSerializerを作成] 呼び出し元:System.Web.Services.Protocols.SoapClientType#42808772 ::。ctor(ExternalWebService.ProcessRequestService#93032588 = ExternalWebService.ProcessRequestService) ProcessId = 2796 LogicalOperationStack = ThreadId = 14 DateTime = 2012-12-21T17:02:39.6576250Z タイムスタンプ=61755144323396760 System.Web.Services.Asmx情報:0:XmlSerializerの呼び出し[書き込み要求] メソッド:Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer#1231684 :: Serialize(System.Xml.XmlTextWriter#8023888 = ..、System.Object []#19695157 = [40]、(null)、(null)) 呼び出し元:ExternalWebService.ProcessRequestService#60553900 :: Serialize() ProcessId = 2796 LogicalOperationStack = ThreadId = 14 DateTime = 2012-12-21T17:02:39.7357500Z タイムスタンプ=61755144598320131 System.Web.Services.Asmx情報:0:XmlSerializerからの戻り[書き込み要求] 呼び出し元:ExternalWebService.ProcessRequestService#60553900 :: Serialize() ProcessId = 2796 LogicalOperationStack = ThreadId = 14 DateTime = 2012-12-21T17:02:39.7357500Z タイムスタンプ=61755144621621529 System.Web.Services.Asmx情報:0:WebRequest.GetResponseを呼び出しています メソッド:System.Net.HttpWebRequest#2800407 :: GetResponse() 呼び出し元:ExternalWebService.ProcessRequestService#60553900 :: GetWebResponse() ProcessId = 2796 LogicalOperationStack = ThreadId = 14 DateTime = 2012-12-21T17:02:39.7357500Z タイムスタンプ=61755144622114240