获取HTTPS使用basicHttpBinding的
当我使用WCF4并在遇到问题时得到一个服务工作通过HTTPS获取HTTPS使用basicHttpBinding的
我已创建一个WCF服务,并部署到服务器,它是通过HTTP工作确定工作。只要我将web.config端点地址更改为https,我就会收到错误
服务'NS.WebWCF.BusinessV1'没有应用程序(非基础设施)端点。这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到匹配服务名称的服务元素,或者因为服务元素中没有定义端点。
我的web.config看起来像
<services>
<service name="NS.WebWCF.Business_v1">
<endpoint address="https://mydomain.com/business/v1/BusinessV1.svc" binding="basicHttpBinding" bindingConfiguration="" contract="NS.WebWCF.IBusinessV1" listenUri="/" isSystemEndpoint="true">
</endpoint>
</service>
我已经把我的IIS以要求SSL。但是我得到了上述错误。
我需要做些什么才能让https工作?
您需要为SSL设置IIS主机头绑定。较旧版本的IIS要求通过命令行界面设置此版本,而后期版本通过GUI提供此工具。
无论采用哪种方式,都可以验证主机头是否被占用,因为浏览器中.SVC文件生成的HTML会发生变化。
当通过HTTPS访问://之前的绑定是正确的,它可能读这样的事:
为了测试这项服务,则需要 创建一个客户端,并使用它来调用 服务。您可以使用命令行 以下语法的 svcutil.exe的工具做到这一点:
svcutil.exe https://AppServerWitHIIS/VirtualDirectory/Your.svc?WSDL
绑定之后被正确地建立在IIS中,它会读取:
要测试此服务,您将需要 创建一个客户端并使用它来调用 服务。你可以用 svcutil来做到这一点。在命令行 EXE工具的语法如下:
svcutil.exe https://www.yoursslcertsite.com/your.svc?WSDL
试试这个:
<system.serviceModel>
<bindings >
<webHttpBinding>
<binding name="webBinding">
<security mode="Transport">
</security>
</binding>
</webHttpBinding>
</bindings>
<services>
<service ...>
<endpoint bindingConfiguration="webBinding" .../>
</service>
</services>
</system.serviceModel>
我有类似的问题,不同的错误消息和解决的办法是将安全模式设置为Transport,因为我试图使用Https。 – 2011-07-06 21:50:59
我发现这有帮助:http://blog.adnanmasood.com/2008/07/16/https-with-basichttpbinding-note-to-self/ - 虽然在我的情况只是改变'mode =“运输”'做了招。 – 2013-03-26 16:22:38
我是在一个类似的场景,我删除了HTTP绑定,并只留下IIS中的HTTPS绑定。该网站立即停止与上述错误工作。 要解决,在web.config中添加system.servicemodel内的下列
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
嗨内特,是的,我已经设置了SSL正确,因为我能够通过HTTPS访问一个测试HTML页确定。 我没有安装在prod服务器上,所以不知道如何运行svcutil工具 – 2011-05-23 03:37:26
您是否正面设置了SSL主机头绑定?即使使用不正确的ssl头文件,当您在浏览器中访问时,该站点仍可见,但当服务试图发送数据时,它最终会指向错误的端点。 – Nate 2011-05-23 04:22:57
您可能需要修改现有的SSL绑定,而不是添加它。虽然这很危险,但最简单的方法是修改ApplicationHost.config:http://learn.iis.net/page.aspx/124/introduction-to-applicationhostconfig/ – 2011-07-21 00:34:44