user1208862
user1208862

Reputation: 303

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

I have a win service config file as follows

 <system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_webservice" closeTimeout="00:01:00"
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
      maxBufferSize="102400000" maxBufferPoolSize="102400000" maxReceivedMessageSize="102400000"
      messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"
      useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="102400000"
        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Basic" proxyCredentialType="None"
          realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://systemname/ProxyService/Service.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_webservice"
    contract="ABC.webservice" name="BasicHttpBinding_webservice" />
</client>  

I am getting the following error. The provided URI scheme 'http' is invalid; expected 'https'. Parameter name: via
Should I change the binding or security settings? The SSL certificate is disabled by the way.

Upvotes: 0

Views: 1807

Answers (3)

Shrivallabh
Shrivallabh

Reputation: 2893

I was getting the same error and used set as start project for the .web project, and now it is working fine.

Upvotes: 0

Yaron Naveh
Yaron Naveh

Reputation: 24396

Agree with Georg. If you have a valid reason to send unsecured user/pass you could do that at the message level via ClearUsernameBinding: http://webservices20.blogspot.com/2008/11/introducing-wcf-clearusernamebinding.html

Upvotes: 1

Georg M&#252;ller
Georg M&#252;ller

Reputation: 111

It looks like you have configure UserNameOverTransport in the security settings --> In WCF this is only allowed using HTTPS binding, as Passwords are transmitted in cleartext using this setting.

Security wise a good feature, can be a bit nasty while developing.

Upvotes: 1

Related Questions