2011-12-27 88 views
4

我正在通过来自iis 6的https公开一个wcf服务。我已经根据我的理解核查了绑定在iis中正确设置(是的,积极的说网站id是'1',并且已经完成了iisreset)。什么控制WSDL的soap地址位置中使用的url?

当我运行此:

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:

这样的:

https://dev.mydomain.com/virtual.directory/servicename.svc 

指定该网址为svcutil.exe的:

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问题?另外,为什么它会将肥皂地址从https更改为http?

+0

如何配置IIS网站以支持*** SSL(https)***以及** system.model **配置是什么? – Kiquenet 2015-04-10 07:59:26

回答

1

愚蠢的错误......我在web配置中命名了我的绑定,但没有指定绑定到服务。我所要做的只是清除绑定的名称。 wcf服务的简化配置使其不必指定绑定。在我的情况下,我只是没有意识到它没有看到我的绑定(没有错误),并使用默认值。 http://msdn.microsoft.com/en-us/library/ee530014.aspx