您好
我们使用WCF服务开发了Web服务,并使用IIS 5.1托管在Windows 2003服务器上。 WCF托管在 basicHttpBinding 。
当尝试访问服务“*。svc?wsdl”的wsdl时,它生成错误的wsdl,wsdl不能是使用java和php客户端。
当我在
<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文档?
答案 0 :(得分:3)
以下是我修复它的方法:
在IIS绑定中,请务必包含主机名。
安装此修补程序:http://support.microsoft.com/kb/971842。 KB页面上有链接以下载此修补程序。修补程序需要重启我。
要“激活”此修补程序,请将以下内容添加到web.config中的behavior元素:
<useRequestHeadersForMetadataAddress> <defaultPorts> <add port="80" scheme="http" /> <add port="443" scheme="https" /> </defaultPorts> </useRequestHeadersForMetadataAddress>
答案 1 :(得分: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
对于chaning主机名,它将反映在wsdl地址
中
http://forums.asp.net/p/1096811/1659596.aspx