【问题标题】:The underlying connection was closed: An unexpected error occurred on a send in SOAP webservice底层连接已关闭:在 SOAP Web 服务中发送时发生意外错误
【发布时间】:2015-05-08 18:13:09
【问题描述】:

我引用了一个使用 SOAP 处理搜索的 web 服务,从今天早上开始,我收到以下错误:

底层连接已关闭:发送时发生意外错误。

如果应用程序重新启动并且会在一段时间(例如 5 分钟)后开始接收这些错误,并且如果我们按照所述重新启动服务重新处理而没有任何问题,则这不会发生在少数请求中。

我已阅读:https://support.microsoft.com/en-us/kb/915599

但这些方法不适用于我的情况。有没有人遇到过类似的问题???

【问题讨论】:

  • 您是否使用了“添加服务参考”?
  • 是的,但我没有看到可以在哪里使用 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
  • 下面,您说您使用了“添加 Web 引用”。你用的是哪一个?
  • 我的意思是您使用了 Visual Studio 中的哪个命令?您是否右键单击项目(或使用“项目”菜单)并使用“添加服务引用”命令而不单击“高级”,然后单击“添加 Web 引用”按钮?

标签: vb.net web-services wcf service-reference


【解决方案1】:

我没有足够的信息来保证这会奏效,但我以前也遇到过这种情况,以下解决了这个问题:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3

请注意,这将强制使用 SSL3 而不是 TLS。如果您访问的网站不能很好地处理 TLS,它可以解决您的问题。请注意,所有其他 HTTP/ServicePoint 对象随后将使用 SSL3 而不是 TLS,除非您将其更改回来(如果这是 IIS 托管,则包括同一 AppPool 中的其他对象)。

【讨论】:

  • 我在 Windows 窗体应用程序中使用它,并使用添加 Web 引用添加了引用。我检查了 Reference.vb 文件,但找不到可以使用上述行的地方
【解决方案2】:

Web 服务主机已更改其证书,这导致 Web 服务在尝试访问该服务时失败。主机已为我提供了最新的证书,现在问题已解决。

奇怪的是,一旦我重新启动应用程序直到连接关闭,然后当应用程序重新尝试连接时,初始连接和后续请求都可以工作,那就是弹出错误消息的时候。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 2015-11-22
    • 2015-07-05
    相关资源
    最近更新 更多