04.10.2010, 13:55 | #1 |
Участник
|
Авторизация Metadata service
Добрый день!
Заранее извиняюсь, что пишу о пустяковой проблеме, но уже голову сломал. Задача: просто отработать 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 с макс. правами. |
|
04.10.2010, 14:07 | #2 |
Консультант-джедай
|
Попробуйте добавить Вашего юзвера в деплоймент админы...
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
04.10.2010, 14:27 | #3 |
Участник
|
Он там добавлен. Причем он также являтеся админом как в срм, так и всего домена.
|
|
04.10.2010, 16:16 | #4 |
Участник
|
Все, трабл решился. Проблема оказалась в описке. Если посмотреть в код, который написал выше, там инициализируется CrmAuthenticationToken с именем token (который использовался для инициализации Crm service), а не tokenM. Соотвественно tokenM передается в metadata сервису пустым - отсюда и не проходит авторизацию.
|
|
|
|