I have a Silverlight application that gets data using WCF. I had it working on my localbox and when I deployed to the dev server I had problems. The problems were because the dev server used SSL and my local box did not. I finally got those issues resolved.
Now, I have moved the app to our test server and I get the following error (in Traces.svclog):Could not find a base address that matches scheme http for the endpoint with binding BasicHttpBinding. Registered base address schemes are [https].
I tracked down the differences between IIS settings and found that on test ‘Ignore client certificates’ was checked. On dev, ‘Require client certificates’ was checked. I am not allowed to change this setting. I went back to DEV, checked ‘Ignore Client Certificates’ and now I get the error on dev.
Here is my web.config entry:
<system.serviceModel>
<services>
<service
name="UserInfo"
behaviorConfiguration="ProdBehavior">
<endpoint address="mex"
binding="basicHttpBinding"
bindingConfiguration="ProdBinding"
contract="UserInfo" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="ProdBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate"></transport>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ProdBehavior" >
<serviceMetadata httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Here is my ServiceReferences.ClientConfig entries:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ProdBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://myDevServer.com/PROJECT/WebServices/UserInfo.svc/mex"
binding="basicHttpBinding" bindingConfiguration="ProdBinding"
contract="UserInfo.UserInfo" name="BasicHttpBinding_UserInfo" />
</client>
</system.serviceModel>
</configuration>