Программа WCF странно ведет себя на одном сервере - почему? - PullRequest
1 голос
/ 07 июля 2010

У меня есть простой метод получения списка для 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'.

Кто-нибудь знает, что здесь происходит и как это исправить?

1 Ответ

1 голос
/ 07 июля 2010

Оказывается, сообщение 401 об отказе в доступе было не чем иным, как казалось. Веб-сервис работал на всех других машинах, потому что все они имели разрешение на совместное использование веб-сервисов.

Пользователь недавно перестроенный сервер подключен как не сделал. Я добавил пользователя, от имени которого работает сервер, в «Люди и группы» с соответствующими разрешениями, и список работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...