Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I am trying to access list information on MOSS 2007 using web services.

SppLists.ListsSoapClient proxy = new SurveyMerge.SppLists.ListsSoapClient();
proxy.ClientCredentials.Windows.AllowNtlm = true;
proxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.None;
proxy.ClientCredentials.Windows.ClientCredential = (System.Net.NetworkCredential)System.Net.CredentialCache.DefaultCredentials;
XmlNode node = proxy.GetListCollection();

I get the following error message:

The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'NTLM'.

What must I do to authenticate the request?

share|improve this question
add comment

1 Answer 1

up vote 8 down vote accepted

I thinnk I found the solution.

In app.config set security mode to TransportCredentialOnly and transport clientCredentialType to Ntlm. See snippet below.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="ListsSoap" 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">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="TransportCredentialOnly">
                    <transport clientCredentialType="Ntlm" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
share|improve this answer
1  
If you think this is the solution then mark it as the answer to the question. That way everyone knows. –  Charles Lee Mar 4 '10 at 21:55
    
Charles - I wanted to but didn't have the rep to do it. I have done it now. Thanks to those who voted me up :-) –  paul Mar 8 '10 at 7:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.