【问题标题】:WCF wsdl wsdl:import location,soap:address location are having machine name?WCF wsdl wsdl:import location,soap:address location 有机器名吗?
【发布时间】:2011-01-22 15:18:36
【问题描述】:

您好

我们使用 WCF 服务开发了 Web 服务,并托管在装有 IIS 5.1 的 Windows 2003 服务器机器上。 WCF 托管在 basicHttpBinding 上。

当尝试访问服务 "*.svc?wsdl" 的 wsdl 时,它会生成错误的 wsdl,即 wsdl 无法使用 java和 php 客户端。
当我检查

中的 wsdl
<wsdl:import namespace="xxxxx" location="http://machine name/xxx/xxx.svc?wsdl=wsdl0"/> 
<soap:address location="http://machine name/xcxx/xxx.svc" /> 

如何删除机器并将其替换为我的网站网址?
如何生成完整的 WSDL 文档,就像 ASMX Web 服务将生成的那样?

【问题讨论】:

    标签: .net wcf wsdl


    【解决方案1】:

    这是我修复它的方法:

    1. 在您的 IIS 绑定中,确保包含主机名。

    2. 安装此修补程序:http://support.microsoft.com/kb/971842。知识库页面上有下载修复程序的链接。修补程序需要我重新启动。

    3. 要“激活”修补程序,请将以下内容添加到 web.config 中的行为元素:

    【讨论】:

    • Matt, archive.msdn.microsoft.com/KB971842 hofix 明确表示它不适用于 Win 2003 服务器。你是如何将它应用到 2003 年的?
    • @Roger,实际上它特别指出,如果您使用的是 Windows 7 或 Windows Server 2008 R2,那么您应该应用不同的修补程序 (KB971842)。如果您使用的是 Windows 2003,那么您应该应用针对 KB971842 的修复程序。 code.msdn.microsoft.com/KB971842
    【解决方案2】:


    我浏览了网络并找到了我的问题的解决方案 以下对我帮助很大。
    希望这些对其他人有所帮助。


    nRk

    用于生成扁平化 WSDL
    http://my-tech-talk.blogspot.com/2008/07/adding-flatwsdl-to-wcf-webservice.html
    http://weblogs.thinktecture.com/cweyer/2007/05/improving-wcf-interoperability-flattening-your-wsdl.html
    http://isinghblog.blogspot.com/2009/03/wcf-service-and-adobe-livecycle_10.html

    用于更改将反映在 wsdl 地址中的主机名
    http://forums.asp.net/p/1096811/1659596.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      相关资源
      最近更新 更多