我们有两台网络服务器(win2008 sp2)负载均衡。在其中一台机器上,在wsdl类型中生成的SchemaLocation url的服务名称(例如myService.svc)部分是camelCased,而在另一台服务器上它是PascalCased(例如MyService.svc)。一些php soap客户端对此有一个问题,并将它们解释为单独的url,最终会出现重复的类型定义。
两台服务器上的代码是相同的 - 我已经将它们从一个复制到另一个以确保。我一直在通过IIS(我猜这个问题可能是)但是我找不到任何可以控制或影响网址的服务名称部分的大小写。我甚至尝试将物理文件(myservice.svc)重命名为小写但是没有效果。
有没有其他人有这个或能指出我正确的方向?
非常感谢。
答案 0 :(得分:1)
您可以将配置属性httpGetUrl
添加到服务行为元数据中,以控制进入WSDL SchemaLocation
值的内容。这个blog post解释了如何为域名执行此操作,但它应该适用于整个URI。