WCF wsdl wsdl:导入位置,soap:地址位置是否有机器名?

时间:2010-03-02 08:42:41

标签: .net wcf wsdl

您好

我们使用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" /> 

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

2 个答案:

答案 0 :(得分:3)

以下是我修复它的方法:

  1. 在IIS绑定中,请务必包含主机名。

  2. 安装此修补程序:http://support.microsoft.com/kb/971842。 KB页面上有链接以下载此修补程序。修补程序需要重启我。

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

  4.     <useRequestHeadersForMetadataAddress>
            <defaultPorts>
                <add port="80" scheme="http" />
                <add port="443" scheme="https" />
            </defaultPorts>
        </useRequestHeadersForMetadataAddress>
    

答案 1 :(得分:2)