<configuration>
<system.serviceModel>
<protocolMapping>
<add scheme="https" binding="basicHttpsBinding" />
</protocolMapping>
</system.serviceModel>
</configuration>
The client configuration also needs some specific settings:
<system.serviceModel>
<bindings>
<basicHttpsBinding>
<binding name="BasicHttpsBinding_IDayOfTheWeekService"></binding>
</basicHttpsBinding>
</bindings>
<client>
<endpoint address="https://computername.yourdomain.net/WcfSecureServer/DayOfTheWeekService.svc"
binding="basicHttpsBinding" bindingConfiguration="BasicHttpsBinding_IDayOfTheWeekService"
contract="DayOfTheWeekReference.IDayOfTheWeekService" name="BasicHttpsBinding_IDayOfTheWeekService" />
</client>
</system.serviceModel>
Note that I am using basicHttpsBinding. This just came out with .NET 4.5. It's exactly the same as basicHttpBinding except the <security mode="Transport" /> is default so you don't have to specify this. Also, if you generate your own certificate, you will get an error message that says something like:Could not establish trust relationship for the SSL/TLS secure channel with authority 'localhost'This is because WCF doesn't trust your self generated cert. However, if you generate a certificate with the name of the computer that it is issued to, and specify the fully qualified name of the computer in the URL like I did above, WCF will allow it.
No comments:
Post a Comment