使用HTTPS的WCF WSDL位置地址

时间:2009-01-14 09:05:02

标签: .net wcf networking hosting

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

有一些解决方案已经存在,这是常见的解决方案。您可以在哪里设置主机头。

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

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

2 个答案:

答案 0 :(得分:4)

您需要为IIS中的网站secureBingings配置主机标头。

以下是关于WCF WSDL & xsd:import schemaLocations link to local machine name not domain name while hosted in IIS

的文章

答案 1 :(得分:0)

是的,您可以将IP地址设置为主机标头。只需确保外部IP地址也在内部实际识别。在我们的一个项目中,我学习了这一点,我们使用ISA Server作为代理。

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