У меня есть простой метод получения списка для sharepoint (SharePointList - это веб-ссылка на list.asmx).
/// <summary>
/// Returns a list of sharepoint lists
/// </summary>
/// <returns>A list of sharepoint lists</returns>
private string GetSharePointLists()
{
StringBuilder stringBuilder = new StringBuilder();
try
{
SharePointList.ListsSoapClient proxy = new SharePointList.ListsSoapClient();
proxy.ClientCredentials.Windows.ClientCredential = new NetworkCredential();
XmlElement lists = proxy.GetListCollection();
var q = from c in lists.ChildNodes.Cast<XmlNode>()
select new
{
DefaultViewUrl = c.Attributes["DefaultViewUrl"].Value,
Title = c.Attributes["Title"].Value
};
foreach (var x in q)
{
stringBuilder.AppendLine(string.Format("{0} http://REMOVED/{1}", x.Title, x.DefaultViewUrl.Replace(" ", "%20")));
}
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
return stringBuilder.ToString();
}
Он отлично работает на моем компьютере разработчика.Раньше он нормально работал и на моей тестовой машине.Как только тестовая машина была перестроена, я всегда получаю эту ошибку на proxy.GetListCollection () -
HTTP-запрос не авторизован с помощью схемы аутентификации клиента 'Ntlm'.Заголовок аутентификации, полученный от сервера, был 'NTLM'.
Кто-нибудь знает, что здесь происходит и как это исправить?