为长篇大论的标题道歉,但寻找可能是常见问题的解决方案。
我们有一个带地址的负载均衡器,例如:www.myloadbalancer.com
以下是两个网络服务器
第一台服务器:webserver1.farm.com
第二台服务器:webserver2.farm.com
我们在两台服务器上部署了一个Web服务,但在尝试使用其他地方的Web服务时发现了一些有趣的东西。
我们部署到:
webserver1.farm.com/service1.svc
和webserver2.farm.com/service1.svc
由于无法在线直接访问Web服务器,因此您必须通过负载均衡器。
因此要使用的地址为www.myloadbalancer.com/service1.svc
。
然而,我们发现如果负载均衡器将您定向到服务器1,并且您检查了WSDL,则会看到服务名称和详细信息为webserver1.farm.com/service1.svc
而不是www.myloadbalancer.com/service1.svc
。
如果您尝试使用www.myloadbalancer.com/service1.svc
,例如在Visual Studio 2008中,则会收到webserver1.farm.com/service1.svc
不存在的警告。
主要问题是,是否可以为Web服务提供别名。
换句话说,无论我们最终是在Web服务器1还是2上,都可以让服务将自己描述为www.myloadbalancer.com/service1.svc
?
答案 0 :(得分:4)
WSDL文件是WSDL文件。编辑它以指向正确的URL。 (如果您不想,则不必使用自动生成的http://webserver1.farm.com/service1.svc?WSDL。)