I had a w/s that when I first read the WSDL in test, was http, but needed to be accessed from behind a reverse proxy with https. Here are the steps:
- Change the app.config, <httpTransport> to <httpsTransport>
- Change the app.config and the url address in the <endpoint>to the reverse proxy address
- Add System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; to disable certificate validation. This will validate all certificates (including invalid, expired or self-signed ones).