AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.03.2011, 12:06   #1  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Что Вы говорите
Например REST ENDPOINT позволяет вернуть xml или json (возможно есть ещё что-то), за счет изменения формы запроса в том же CRM ( я понимаю что это не заслуга CRM, но всё же).
Ну а зачем тогда вопрос задавали? У Вас все есть и все работает как надо - прекрасно!

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Fetch в данном случае был примером
А другие запросы не в контексте пользователя?
И другие запросы к веб-сервисам CRM выполняются в контексте пользователя.

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Это именно так и происходит через "Impersonate a User"когда обращение происходит через C#.
Какая разница если я могу со своего компьютера сделать запрос через C# почему с того же компьютера через SOAP нет?
Зачем же все в одну кучу мешать? Серверный код - это не клиентский SOAP-запрос. Не хотите же Вы сказать, что можете с любой клиентской машины отправить в CRM на выполнение любой C# код?
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 09.03.2011, 22:06   #2  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Ну а зачем тогда вопрос задавали? У Вас все есть и все работает как надо - прекрасно!




Вопрос задавался по соап запросам, потому-что запустить fetch или любой другой crm message через rest endpoint, мне кажется нельзя.
А Вы знаете как?
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Зачем же все в одну кучу мешать? Серверный код - это не клиентский SOAP-запрос.
Не надо мешать.
Это разные вещи.
Только одно но,
Если Вы запустите fiddler и посмотрите запросы которые делает, скажем так код С#, то увидите там те же соап запросы.

Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Не хотите же Вы сказать, что можете с любой клиентской машины отправить в CRM на выполнение любой C# код?
Любой – не любой!!!
ДА хочу
Откройте SDK там в этот раз (CRM 5) много различного C# кода, который у меня на клиентской машине оборудованной Windows 7 64bit бежит читает и создает записи в CRM.

С Уважение Константин
__________________
Читайте SDK!!!
Старый 10.03.2011, 12:02   #3  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Вопрос задавался по соап запросам, потому-что запустить fetch или любой другой crm message через rest endpoint, мне кажется нельзя.
А Вы знаете как?

Стало интересно, погрузился в SDK по 2011.
И вот чего начитал (думаю, всем будет полезно немного теории):
В CRM 2011 реализовано аж 2 интерфейса доступа к данным через веб-сервисы - REST Endpoint и SOAP Endpoint. Так вот REST Endpoint позволяет вернуть данные в нужном Вам JSON-формате, но для этого нужно формировать не Fetch-запрос, а OData-запрос. Я так понимаю, что конкретно Fetch Вам не особо уперся, а про OData-запросы в SDK вроде подробно написано. Только имейте ввиду, что REST Endpoint возвращает не более 50 записей за раз.


__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 10.03.2011, 13:15   #4  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Не надо мешать.
Это разные вещи.
Только одно но,
Если Вы запустите fiddler и посмотрите запросы которые делает, скажем так код С#, то увидите там те же соап запросы.

Любой – не любой!!!
ДА хочу
Откройте SDK там в этот раз (CRM 5) много различного C# кода, который у меня на клиентской машине оборудованной Windows 7 64bit бежит читает и создает записи в CRM.
Тут тоже по SDK не все так просто. Попробуем разобраться по порядку.

Как в 2011 поменять контекст пользователя при выполении SOAP-запроса из JScript'а я в SDK не нашел. Похоже, никак. Правда осталась обратная совместимость с веб-сервисами CRM 4.0, где указывался AuthenticationHeader, содержащий тэг CallerID (веб-сервис при этом все равно проверит, имеете ли вы право выполнять запрос от имени другого пользователя).

Что касается C# кода: Вы можете написать на C#, скажем, консольное приложение, которое будет запускать на клиентской машине и внутри него имперсонироваться от имени другого пользователя и выполнить SOAP-запрос.
В SDK вот тут написано, что для этого надо указать свойство OrganizationServiceProxy.CallerID. Но при этом пользователь, запускающий такое приложение должен обладать специальной привилегией или быть включенным в PrivUserGroup в AD.
__________________
Опыт позволяет ошибаться гораздо увереннее.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 ~ Book Club Blog bot Dynamics CRM: Blogs 0 02.02.2011 00:16
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 Release Candidate (RC) Announcement Blog bot Dynamics CRM: Blogs 0 15.12.2010 11:11
ukcrm: CRM 2011 Videos On Channel 9 (Part 4) Blog bot Dynamics CRM: Blogs 0 09.11.2010 19:04
jodonnell: CRM Innovation LLC declares Data2CRM is ready for Dynamics CRM 2011 Blog bot Dynamics CRM: Blogs 0 23.09.2010 05:27
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:21.