<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