如何更改我的wsdl的地址位置

我的wsdl在地址位置放了一个错误的域名,如何解决?

-  -    -    -    -     

真正的域名就像https://machine.goodDomain.com.br

该地址取自用于访问WSDL的URL。 如果它与您想要实际服务的服务器不同,那么您可以通过创建扩展SoapExtensionReflector的类来更改它。 这是一篇关于如何更改URL的示例文章:

http://blogs.msdn.com/kaevans/archive/2005/11/16/493496.aspx

另一个选择是使用IIS URL重写模块( http://www.iis.net/downloads/microsoft/url-rewrite

首先 – 从XWebService.asmx?WSDL捕获输出并将其保存为HTML文件(例如wsdl.htm)。

编辑此文件并将位置更改为备用地址

…来自thishost.domain.com

 -    

…到thathost.domain.com

 -    

在IIS中 – 在网站/虚拟function视图中找到URL重写图标。 然后单击“ 添加规则”并选择“ 入站规则 – 空白规则”

使用规则 – 适当地命名它并为将接收WSDL请求的webservice URL设置模式匹配。 对于RegEx:

 (.*)XWebservice.asmx 

条件匹配{QUERY_STRING}WSDL{REQUEST_METHOD}GET

对于Action – 将其设置为Rewrite (这对客户端是透明的)并选择我们之前保存的文件(wsdl.htm)。

这也为web.config的system.webServer部分添加了一个新的重写部分

               

最初的回答是正确的。 WSDL中的默认URL取决于用于访问WSDL的URL。

我的团队过去处理更改服务URL的方式(例如,从开发转换到测试或生产环境)是使用wsdl.exe为您的Web服务生成代码代理(实际上是通过创建代理来创建代理) Web或服务引用也是如此,但默认情况下不会显示在Visual Studio中),您可以编辑生成的代理类以从(??)中读取服务的URL – 数据库,配置文件等。

为什么不直接手动编辑WSDL文件中的地址呢?

如果WSDL是由其他工具生成的,那么让我们知道它是如何生成的,也许我们可以提供帮助。 否则,没有法律禁止修改生成的文件以满足您的需要。 如果原始用户环境的WSDL出现问题,那就是URL错误,那么直接修改URL是完全合法的。