Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

provided URI scheme'http' is invalid; expected 'https'

Tags:

c#

wcf

I have a RESTful Web Service hosted in IIS 6.0, I am able to Browse the Service in browser. When i am trying to access the same service via Client console App, it is giving me the following error:

"provided URI scheme'http' is invalid; expected 'https', Parameter name: Via" 

My WebService web.config has this settings:

<system.serviceModel>   <services>     <service behaviorConfiguration="ServiceBehavior" name="TestAPI">     <endpoint address="" behaviorConfiguration="RESTFriendly" binding="webHttpBinding" contract="ITestAPI" />     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />   </service>      </services> <behaviors>   <endpointBehaviors>     <behavior name="RESTFriendly">       <webHttp />     </behavior>   </endpointBehaviors>   <serviceBehaviors>     <behavior name="ServiceBehavior">       <serviceMetadata httpGetEnabled="true" />       <serviceDebug includeExceptionDetailInFaults="true" />     </behavior>   </serviceBehaviors> </behaviors> 

My Client App has App.config from where i am getting the address :

<appSettings> <add key="WEBSERVICE" value="URL"/> 

in the Main method :

WebChannelFactory<ITestAPI> cf = new WebChannelFactory<IAPI>(baseAddress);             WebHttpBinding wb =cf.Endpoint.Binding as WebHttpBinding;             wb.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;             wb.Security.Mode = WebHttpSecurityMode.Transport;             cf.Credentials.UserName.UserName = "usermane";             cf.Credentials.UserName.Password = "password";              ITestAPI channel = cf.CreateChannel();             string msg = channel.TestMethod();  

When it tries to call TestMethod, it gives me this error.

like image 303
Tara Singh Avatar asked Nov 06 '09 22:11

Tara Singh


1 Answers

You're setting the security to transport mode, which is HTTPS, with this line:

wb.Security.Mode = WebHttpSecurityMode.Transport;

Is the value of baseAddress an HTTP or HTTPS address?

like image 155
James Bailey Avatar answered Oct 13 '22 07:10

James Bailey