title: Web Service over HTTP with NTLM Authentication
body: <p>We are trying to create a Web Service which will be consumed over HTTP (not HTTPS), and using NTLM/Windows authentication.  Unfortunately, we can't seem to find that "perfect" combination.  No matter what we try, using Windows authentication always seems to want to force us to use HTTPS; and using HTTP seems to ignore all attempts at Windows authentication.</p>
  
  <p>Here is our app.config thus far:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;configuration&gt;
      &lt;system.serviceModel&gt;
          &lt;bindings&gt;
              &lt;basicHttpBinding&gt;
                  &lt;binding name="wsSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
              receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
              messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
              useDefaultWebProxy="true"&gt;
                  &lt;readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" /&gt;
                  &lt;security mode="Message"&gt;
                      &lt;transport clientCredentialType="Windows" proxyCredentialType="None" realm="" /&gt;
                      &lt;message clientCredentialType="UserName" algorithmSuite="Default" /&gt;
                  &lt;/security&gt;
              &lt;/binding&gt;
          &lt;/basicHttpBinding&gt;
      &lt;/bindings&gt;
      &lt;client&gt;
          &lt;endpoint address="http://xyz/xyz/xyzws.asmx" binding="basicHttpBinding"
              bindingConfiguration="xyzwsSoap" contract="xyzws.xyzwsSoap"
              name="xyzwsSoap" /&gt;
      &lt;/client&gt;
  &lt;/system.serviceModel&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>We've also tried creating a new binding using wsHttpBinding instead of basicHttpBinding, but that didn't work either.  Can anyone point us in the right direction?</p>