|
![]() |
#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 с макс. правами. |
|
![]() |
#2 |
Консультант-джедай
|
Попробуйте добавить Вашего юзвера в деплоймент админы...
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! ![]() |
|
![]() |
#3 |
Участник
|
Он там добавлен. Причем он также являтеся админом как в срм, так и всего домена.
|
|
![]() |
#4 |
Участник
|
Все, трабл решился. Проблема оказалась в описке. Если посмотреть в код, который написал выше, там инициализируется CrmAuthenticationToken с именем token (который использовался для инициализации Crm service), а не tokenM. Соотвественно tokenM передается в metadata сервису пустым - отсюда и не проходит авторизацию.
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|