none
provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via RRS feed

  • Question

  • provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via

    F5 BigIP load balancer

    Traffic comes in to the F5 Big IP load balancer as HTTPS.

    The certificate is on the load balancer.

    Traffic to the WCF services on the servers is HTTP.

    No matter what binding security mode on the client or server we are getting the provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via error.

    • Edited by Jim Nance Saturday, October 12, 2013 9:32 AM
    Saturday, October 12, 2013 9:27 AM

Answers

  • Hi,

    >>provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via

    PLease try to add <security mode="transport"> to the binding on the web service:

    <wsHttpBinding>
             <binding name="WSHttpBinding_WVSLEXSService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="52428800" maxReceivedMessageSize="6553600" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
               <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="1638400" maxBytesPerRead="409600" maxNameTableCharCount="1638400" />
               <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
               <security mode="Transport"></security>
             </binding>
    </wsHttpBinding>

    If you do modify the service binding, you will need to update the service reference on the web app to ensure it now knows that the expected scheme is https.

    Best Regards,
    Amy Peng


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • Marked as answer by Jim Nance Monday, October 14, 2013 4:38 PM
    Monday, October 14, 2013 5:45 AM
    Moderator

All replies

  • Hi Jim,

    Please post your service & client's web.config, this error comes when there is some conflict between the security attributes in web.config.

    Thanks,

    Amit

    Saturday, October 12, 2013 10:07 AM
  • Client:

      <binding name="WSHttpBinding_ILEXSService" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                        allowCookies="false">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00"
                            enabled="false" />
                       
                    </binding>

     <endpoint address="https://biztalk.test.scopenv.us/ScopeIIJLinkWVS/LEXSService.svc"
                    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ILEXSService"
                    contract="JLINKService.ILEXSService" name="WSHttpBinding_ILEXSService">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>

    James Nance

    Saturday, October 12, 2013 10:21 AM
  • Server:

    <wsHttpBinding>
            <binding name="WSHttpBinding_WVSLEXSService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="52428800" maxReceivedMessageSize="6553600" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
              <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="1638400" maxBytesPerRead="409600" maxNameTableCharCount="1638400" />
              <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
           
            </binding>
          </wsHttpBinding>

     <service name="CC.ScopeII.WVS.JLINK.WCFServices.LEXSService" behaviorConfiguration="wvServiceBehaviour">
            <endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_WVSLEXSService" contract="CC.ScopeII.WVS.JLINK.WCFServices.ILEXSService" bindingNamespace="http://LEXS.prod.scopenv.us">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
          </service>
        </services>


    James Nance

    Saturday, October 12, 2013 10:23 AM
  • The problem is not related to the load balancer converting the traffic from https to http?

    James Nance

    Saturday, October 12, 2013 10:25 AM
  • Hi,

    >>provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via

    PLease try to add <security mode="transport"> to the binding on the web service:

    <wsHttpBinding>
             <binding name="WSHttpBinding_WVSLEXSService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="52428800" maxReceivedMessageSize="6553600" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
               <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="1638400" maxBytesPerRead="409600" maxNameTableCharCount="1638400" />
               <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
               <security mode="Transport"></security>
             </binding>
    </wsHttpBinding>

    If you do modify the service binding, you will need to update the service reference on the web app to ensure it now knows that the expected scheme is https.

    Best Regards,
    Amy Peng


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • Marked as answer by Jim Nance Monday, October 14, 2013 4:38 PM
    Monday, October 14, 2013 5:45 AM
    Moderator
  • Already tried that.

    The problem is that the F5 Load balancer converts the HTTPS down to the servers as HTTP.


    James Nance

    Monday, October 14, 2013 6:06 AM
  • The test tool we were using had hard coded bindings inside it.

    Transport works.


    James Nance

    Monday, October 14, 2013 4:38 PM