My WCF Service implementation appears to have all necessary HTTPS configuration settings. The whole client-> service comms work just fine, my issue is that request responses do not appear to be transported over HTTPS.
My configuration:
wsHttpBinding - check
mexHttpsBinding - check security mode="Message" - check httpsGetEnabled - checkWhen I examined the comms in Fiddler then I see the request and response being made over HTTP rather than HTTPS. This ties up with the WSDL action which states:
location="http://ws019.sms.com/Alpha.Services.AMSB2B/DeviceService.svc/Journey"/
wsa10:Address
http://ws019.sms.com/Alpha.Services.AMSB2B/DeviceService.svc/Journey
/wsa10:Address
Also in my endpoint configuration on the client开发者_运维技巧 side, the endpoint is pointing at the HTTP address rather than the HTTPS address (presumably this is looking at the WSDL) eg.
endpoint address="http://ws019.sms.com/Alpha.Services.AMSB2B/DeviceService.svc/Device"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IDeviceService"
contract="AMSB2B.IDeviceService" name="WSHttpBinding_IDeviceService"
Why does the WSDL / client endpoint address have HTTP in there, rather than HTTPS? If I change the configuration manually, it complains at runtime about expecting HTTP.
Any ideas?
Thanks.
Your configuration is wrong. WsHttpBinding with Message security uses HTTP. You must use Transport security.
精彩评论