I found WCF WsDualHttpBinding accept http, however https is not acceptable. I got following errors if https is used:
System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: context.ListenUriBaseAddress
at System.ServiceModel.Channels.TransportChannelListener..ctor(TransportBindingElement bindingElement, BindingContext context, MessageEncoderFactory defaultMessageEncoderFactory, HostNameComparisonMode hostNameComparisonMode)
at System.ServiceModel.Channels.HttpChannelListener..ctor(HttpTransportBindingElement bindingElement, BindingContext context)
at System.ServiceModel.Channels.HttpChannelListener`1..ctor(HttpTransportBindingElement bindingElement, BindingContext context)
My environment is Win7 pro, .net 4.0, VS2013 pro.
Here attached my settings:
<wsDualHttpBinding>
<binding name="customWsDualHttpBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Message">
<message clientCredentialType="Certificate" />
</security>
</binding>
</wsDualHttpBinding>
<service name="Reporting.DuplexService" behaviorConfiguration="customBehavior">
<endpoint address="http://localhost:8123/Reporting/Duplex"
binding="wsDualHttpBinding" bindingConfiguration="customWsDualHttpBinding"
contract="WcfServices.Interfaces.IDuplexReportingService"/>
</service>
When I put serviceCertificate info in customBehavior element, above service is working, however it's still using http as transport channel, although message is encrypted by certificate.
is it possible to use https in this scenario? thanks in advance.
kind regards