【问题标题】:Error while trying to call a wcf service尝试调用 wcf 服务时出错
【发布时间】:2015-11-04 08:03:23
【问题描述】:

我正在尝试连接到服务器上的 WCF 服务。

我在服务器上的 IIS 中设置了一个站点,并将 Enabled Protocols 设置为 http,net.tcp。 另外,我像这样配置了Site Bindings

  • http > 端口:80 > IP 地址:*
  • net.tcp > 绑定信息:808.*

Authentication 下,我启用了Anonymous AuthenticationWindows Authentication

Net.Tcp Listener AdapterNet.Tcp Port Sharing Service 服务也在运行。

当我使用浏览器(通过http)调用网络服务时,一切正常,我可以列出wsdl 等。

但当尝试通过tcp 连接时,我收到以下错误:

错误:无法从 net.tcp://myserver/MyService.svc 获取元数据 如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅位于 http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange 错误 URI 的 MSDN 文档:net.tcp://myserver/MyService.svc 元数据包含无法解析的引用:'net.tcp://myserver/MyService .svc'。无法连接到 net.tcp://myserver/MyService.svc。连接尝试持续了 00:00:21.0010999 的时间跨度。 TCP错误码10060:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应10.x.yyy.zz:808。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应 10.x.yyy.zz:808

  • 还有什么我必须确保能够通过tcp 连接的事情吗?

提前致谢

【问题讨论】:

  • 你能用 TELNET 10.x.yyy.zz 808 来检查你是否可以到达服务器的 808 端口吗? 10060 是连接超时。据我所知,您的请求没有到达 IIS。
  • 我尝试使用 telnet 连接,但收到消息“无法在端口 808 上打开与主机的连接:连接失败”
  • 好的,那么您的服务器没有在该端口上侦听,或者您的防火墙阻止了您的请求。您可以尝试在服务器上的 Windows 功能/.NET Framework 3.5 下启用 WCF 非激活端点吗?恐怕这将需要重新启动.. 至少您可以检查它是否已启用。
  • 注意:你也可以在服务器上发出 netstat -a 来查看808端口是否被监听。
  • äll .NET Framework 3.5 和 4.5 功能已安装(包括非 HTTP 激活和 WCF 服务)。我正在尝试检查是否可以发出 netstat -a 命令

标签: c# .net iis tcp windows-server-2012


【解决方案1】:

这似乎是网络问题,因为 10060 表示连接超时。

  1. 检查服务器防火墙并确保启用了 Windows Communication Foundation Net.TCP Listener Adapter (TCP-In) 规则。

  2. 检查客户端计算机的防火墙并添加确保出站规则允许端口 808 上的 tcp 连接

  3. 如果仍然无法连接,可能是网络防火墙设备阻止了请求

【讨论】:

    【解决方案2】:

    我认为您可能需要开启元数据交换: The following explains one way to do it.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 2015-12-29
      相关资源
      最近更新 更多