In this scenario we'll test a wcf service that's hosted in IIS and is using SSL.
First, create the wcf service
- Open up Visual Studio and create a wcf service.
- Configure it with the following binding
<basicHttpBinding>
<binding name="basicBinding" >
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
- Add a ServiceMetadata behavior and set HttpsGetEnabled to true.
- Add a MEX endpoint to the service using mexHttpsBinding
- Using Visual Studio, "Publish" the service to IIS
Next, deploy the service to IIS
- Open up IIS (run inetmgr.exe)
- Navigate to the web site where the WCF service was published
- Enable "https" binding
- Select the published WCF service
- Open "SSL Settings"
- Set "Require SSL" to true and "Client certificates" to Ignore.
- Check that the WCF service can be viewed in internet explorer
Then test with WCFStorm
- Open up wcfstorm and Add the service
- Invoke a method and you'll get the error
The provided URI scheme 'https' is invalid; expected 'http'.
Parameter name: via
- To fix the error, generate a client config that matches the wcf service configuration. The easiest way to do this is with Visual Studio.
* Open Visual Studio and add a service reference to the service. VS will generate an app.config file that
matches the service
* Edit the app.config file so that it can be read by wcfstorm. Please see Loading Client App.config files. Ensure that
the endpoint/@name and endpoint/@contract attributes match the values in wcfstorm.
- Load the modified app,config to wcfstorm.
- Invoke the method. This time the method invocation will no longer fail