Добрый день!
Заранее извиняюсь, что пишу о пустяковой проблеме, но уже голову сломал.
Задача: просто отработать Metadata сервис (к примеру вытащить значения атрибута объекта).
Как бы не крутил, всегда вылетает с ошибкой HTTP 401: Unauthorized в методое Execute metadata сервиса.
Регистрацию делал по всякому, один из вариантов:
MetadataSdk.CrmAuthenticationToken tokenM = new MetadataSdk.CrmAuthenticationToken();
token.AuthenticationType = 0;
token.OrganizationName = orgName;
metadataservice = new MetadataService();
metadataservice.Url = "http://" + serverName + "/mscrmservices/2007/MetadataService.asmx";
metadataservice.CrmAuthenticationTokenValue = tokenM;
metadataservice.Credentials = new System.Net.NetworkCredential("user", "password", "domain");
metadataservice.UnsafeAuthenticatedConnectionSharing = true;
В том числе комбинировал с :
metadataservice.UseDefaultCredentials = true;
metadataservice.Credentials = System.Net.CredentialCache.DefaultCredentials;
и identify impersonate в web.config'e.
Сеть обычная - AD. Пробовал пользователем с максимальными правами. Происходит сие в ASP.NET сайт, который запускается под app pool с макс. правами.