代码之家  ›  专栏  ›  技术社区  ›  dnolan

带有HTTPS的WCF WSDL位置地址

  •  6
  • dnolan  · 技术社区  · 16 年前

    WCF的一个常见问题似乎是如何在wsdl中解析指向其他文件的链接的主机名。问题是计算机的机器名被放入wsdl中以链接其他wsdl文件,因此如果您访问 http://myhost/service.svc 它可能指向另一个位置上的其余wsdl, http://mypc/service.svc?wsdl 这显然是你从外部看不到的。

    目前已经有一些解决方案,这是常见的解决方案。您可以在其中设置主机标头。

    我的问题是,在使用外部IP时,如何解决这个问题。我正在从他们的网站连接到客户总部以检索数据,它没有设置dns等,ip在内部重新路由到一台机器。有没有办法强制承载WCF的机器在wsdl文件中显示外部地址而不是机器名称?

    我正在使用SSL进行连接,这可能会有所不同(与主机头一样)。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Ray Lu    16 年前

    您需要为IIS内网站的安全设置配置主机标头。

    这里有一篇关于 WCF WSDL & xsd:import schemaLocations link to local machine name not domain name while hosted in IIS

        2
  •  0
  •   alextansc    16 年前

    如果您遇到过这种情况,并且仍然坚持使用外部IP地址作为主机头,那么您唯一的选择就是将web服务的机器名添加到主机文件中。