.NET calling SharePoint Web Service receives HTTP 401 Unauthorized exception

I am trying to call a SharePoint list service to get a list definition and data. A SharePoint site is my company, but I do not control it. Here is all I know about server security:

HTTPS Server: // Server accepts Windows Active Directory credentials at login ...

I tried Basic, Digest, CredentialCache, just NetworkCredential, UnsafeAuthenticatedConnectionSharing, UseDefaultCredentials, PreAuthenticate ... not sure if the correct config ...

The error I get is unauthorized HTTP 401.

                Uri url = new Uri(baseAddress + "/_vti_bin/Lists.asmx", UriKind.Absolute);
                Lists.Lists client = new Lists.Lists();

                // sometimes works
                CredentialCache cache = new CredentialCache();
                cache.Add(url, "NTLM", new NetworkCredential(context.UserName, context.Password, context.Domain));
                client.UseDefaultCredentials = false;
                client.Credentials = CredentialCache.DefaultCredentials;
                // doesn't work ever
                //client.Credentials = new NetworkCredential(context.UserName, context.Password, context.Domain);
                //client.PreAuthenticate = true;
                client.UnsafeAuthenticatedConnectionSharing = true;
                client.Url = url.AbsoluteUri;
                listData = client.GetList(listName).OuterXml;
+5
source share
2 answers

, SharePoint, , , , .

, - (, , NTLM Kerberos) Basic Forms?

- , - ( WSDL) -, SoapUI

+1

- - ( NTLM + FBA), .

HttpWebRequest req = WebRequest.CreateHttp("https://example.com/");
req.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f"); //login with windows account
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequired;
req.Credentials = new NetworkCredential("username", "password", "domain"); 
//this also works
//req.Credentials = CredentialCache.DefaultNetworkCredentials; 
+1

All Articles