How do you setup HTTP and HTTPS WCF 4 RESTful services?
10,603
You should try to create two separate end-points. For example,
<system.serviceModel>
<services>
<service name="MyNameSpace.MyService">
<endpoint address="https://www.example.com/MyService.svc"
binding="wsHttpBinding" bindingConfiguration="SecureWebBinding"
contract="MyNameSpace.IMyContract" />
<endpoint address="http://www.example.com/MyService.svc"
binding="basicHttpBinding"
contract="MyNameSpace.IMyContract" />
</service>
<bindings>
<webHttpBinding >
<binding name="SecureWebBinding" >
<security mode="Transport"></security>
</binding>
</webHttpBinding>
</bindings>
</services>
</system.serviceModel>
Author by
Kellen
Updated on June 27, 2022Comments
-
Kellen almost 2 years
I'm trying to use WCF 4 to set up a RESTful web service. I'd like the service to be accessible both using HTTP and HTTPS. By default the service is created with the following configuration which works for http but not https:
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior> <webHttp helpEnabled="true" /> </behavior> </endpointBehaviors> </behaviors> <protocolMapping> <add scheme="http" binding="webHttpBinding" /> </protocolMapping> </system.serviceModel>
I can then turn on HTTPS for the service by changing the configuration slightly to this:
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior> <webHttp helpEnabled="true" /> </behavior> </endpointBehaviors> </behaviors> <bindings> <webHttpBinding > <binding name="SecureWebBinding" > <security mode="Transport"></security> </binding> </webHttpBinding> </bindings> <protocolMapping> <add scheme="http" binding="webHttpBinding" bindingConfiguration="SecureWebBinding"/> </protocolMapping> </system.serviceModel>
My question is how do I get the service working with both?