Rac*_*hel 5 vb.net asp.net web-services
我们有一个连接到外部Web服务的ASP.Net网站,它几天前突然停止工作.
基本代码是这样的:
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
Run Code Online (Sandbox Code Playgroud)
在System.Net.WebException被带引发SendFailure的异常,并返回此堆栈跟踪:
The underlying connection was closed: An unexpected error occurred on a send. -
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 ExternalWebService.ProcessRequestService.processCommand(parameters)
当我尝试在我的开发机器上调试此问题时,它工作正常,不会发生异常.
我们的网络服务器最近没有更新,我可以使用FireFox从Web服务器连接到wsdl服务(但我无法与IE连接,但这可能与我们在网络服务器上与IE有关的其他问题有关)
我试过张贴错误消息#2之所有决议案在这里,包括设置KeepAlive = False和ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3,但是,没有一直在努力解决这个问题.
我们的网络服务器运行Windows Server 2003和IIS6.0
什么可能导致这个错误发生在一台机器上,而不是另一台机器上?
编辑:这是跟踪信息:
System.Web.Services.Asmx Information: 0 : Calling XmlSerializer [Create XmlSerializer]
Method: System.Xml.Serialization.XmlSerializer#1669721556::FromMappings(System.Xml.Serialization.XmlMapping[]#4002219=[4], ExternalWebService.ProcessRequestService#93032588=ExternalWebService.ProcessRequestService)
Caller: System.Web.Services.Protocols.SoapClientType#42808772::.ctor(ExternalWebService.ProcessRequestService#93032588=ExternalWebService.ProcessRequestService)
ProcessId=2796
LogicalOperationStack=
ThreadId=14
DateTime=2012-12-21T17:02:39.2826250Z
Timestamp=61755143048799345
System.Web.Services.Asmx Information: 0 : Return from XmlSerializer [Create XmlSerializer]
Caller: System.Web.Services.Protocols.SoapClientType#42808772::.ctor(ExternalWebService.ProcessRequestService#93032588=ExternalWebService.ProcessRequestService)
ProcessId=2796
LogicalOperationStack=
ThreadId=14
DateTime=2012-12-21T17:02:39.6576250Z
Timestamp=61755144323396760
System.Web.Services.Asmx Information: 0 : Calling XmlSerializer [Write Request]
Method: Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer#1231684::Serialize(System.Xml.XmlTextWriter#8023888=.., System.Object[]#19695157=[40], (null), (null))
Caller: ExternalWebService.ProcessRequestService#60553900::Serialize()
ProcessId=2796
LogicalOperationStack=
ThreadId=14
DateTime=2012-12-21T17:02:39.7357500Z
Timestamp=61755144598320131
System.Web.Services.Asmx Information: 0 : Return from XmlSerializer [Write Request]
Caller: ExternalWebService.ProcessRequestService#60553900::Serialize()
ProcessId=2796
LogicalOperationStack=
ThreadId=14
DateTime=2012-12-21T17:02:39.7357500Z
Timestamp=61755144621621529
System.Web.Services.Asmx Information: 0 : Calling WebRequest.GetResponse
Method: System.Net.HttpWebRequest#2800407::GetResponse()
Caller: ExternalWebService.ProcessRequestService#60553900::GetWebResponse()
ProcessId=2796
LogicalOperationStack=
ThreadId=14
DateTime=2012-12-21T17:02:39.7357500Z
Timestamp=61755144622114240
显然,在我的特定情况下,这是因为 Web 服务供应商提高了安全性,而我们的 Web 服务器没有解密连接所需的正确库。
我们唯一的线索是一个 ID 为 36874 的系统事件查看器条目,以及几天前我们网站停止工作的同一天的 Schannel 源,内容如下:
从远程客户端应用程序收到 SSL 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。SSL 连接请求失败。
但是,如果您自己调试这个问题,这个链接非常有用,因为它提供了一些错误的简化描述,为我指明了正确的方向,我的问题与无法连接到他们的 Web 服务有关。
底层连接已关闭:发送时发生意外错误
当客户端计算机无法发送 HTTP 请求时,就会出现此问题。由于连接已关闭或不可用,客户端计算机无法发送 HTTP 请求。在本文http://support.microsoft.com/kb/915599中查找错误。
链接的 Microsoft 支持页面也相当详细地介绍了一些不同的解决方案,您可以尝试解决此问题的最常见原因。
| 归档时间: |
|
| 查看次数: |
3640 次 |
| 最近记录: |