我正在通过来自iis 6的https公开wcf服务。据我所知,我已经验证了iis中的绑定设置正确(是的,肯定站点id为“1”,并且已完成iisreset)。
当我运行这个时:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>cscript.exe //NoLogo %sys
temdrive%\inetpub\adminscripts\adsutil.vbs enum W3SVC/1
这是在列表中:
SecureBindings : (LIST) (1 Items)
":443:dev.mydomain.com"
当我打开服务的 url 时,我可以看到它正确生成了 wsdl 的 url:
this:
https://dev.mydomain.com/virtual.directory/servicename.svc
为 svcutil.exe 指定此 url:
https://dev.mydomain.com/virtual.directory/servicename.svc?wsdl
但是,当我检查 wsdl 本身时,它停止使用域,并将其替换为 wsdl xml 此部分中的计算机名称:
<wsdl:service name="servicename">
<wsdl:port name="BasicHttpBinding_servicename" binding="tns:BasicHttpBinding_servicename">
<soap:address location="http://machinename.inernaldomain/virtual.directory/servicename.svc"/>
</wsdl:port>
</wsdl:service>
我的问题是 web.config 问题还是 IIS 问题?另外,为什么它将soap地址从https更改为http?
愚蠢的错误...我在 Web 配置中命名了我的绑定,但没有指定该绑定到服务。我所要做的就是清除绑定的名称。 wcf 服务的简化配置使您无需指定绑定。就我而言,我只是没有意识到它没有看到我的绑定(没有错误),并且正在使用默认值。http://msdn.microsoft.com/en-us/library/ee530014.aspx http://msdn.microsoft.com/en-us/library/ee530014.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)