Показать сообщение отдельно
Старый 17.02.2009, 17:41   #5  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Похоже, в документации баг. Перенесли из SDK 3.0, забыли исправить.
Никакого CallerIdValue у CrmService в 4-ке нету.
Совершенно верно. Не далее чем сегодня рубился в теме: как вызвать службу от имени другого пользователя, не зная его пароля (не используя credentials). Багу в хэлпе к sdk 4.0 тоже обнаружил.
На самом деле нужно делать вот так:
Код:
CrmAuthenticationToken realToken = newCrmAuthenticationToken();
realToken.OrganizationName = GetCorrectOrganization();
realToken.CallerId = newGuid("2DA10BEB-9121-DD11-91D2-00155D70A555");
 
CrmService realService = newCrmService();
realService.Url = GetCorrectUrl("", 1);
realService.Credentials = new System.Net.NetworkCredential(GetDefaultUser(), GetUserPassword(), GetDomainName());
realService.CrmAuthenticationTokenValue = realToken;

Если раньше было свойство сервиса, то в четверке - айдишник вызывающего - свойство токена.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
За это сообщение автора поблагодарили: griefon (1).