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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2011, 12:34   #1  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
У меня есть запрос...

То, что он возвращает сложно для чтения и понимания нормальному человеку
А кто Вам сказал, что это для людей?


Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
1. Хотелось бы знать как изменить запрос чтобы CRMService вернул что-то более читабельное. (например JSON string)

Разумеется, изменение запроса не изменит формат возвращаемых данных. Т.е. нет никаких опций и других поддерживаемых форматов. Есть только готовые библиотеки сторонних разработчиков, которые умеют парсить результат в удобоваримые массивы объектов, как, например, Ascentium. Но все они под CRM 4.0. Насколько я знаю, под CRM 2011 еще ни у кого ничего нет. Если вдруг уже есть, буду только рад посмотреть ссылочку.

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
2. Можно ли делать soap запросы с "Impersonate a User" (по userid например)
Fetch всегда выполняется в контексте пользователя, который вызывает веб-сервис. Согласитесь, если бы в запросе можно было бы указать ID любого пользователя и получить данные, которые должен видеть этот пользователь, это было бы несекьюрно?
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 05.03.2011, 15:08   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Если вдруг уже есть, буду только рад посмотреть ссылочку.
Мой коллега Даниэл Кай пишет, что его фреймфорк - по прежнему работает - http://danielcai.blogspot.com/2011/0...s-for-crm.html
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Гуревич Денис (2).
Старый 05.03.2011, 15:38   #3  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от a33ik Посмотреть сообщение
Мой коллега Даниэл Кай пишет, что его фреймфорк - по прежнему работает - http://danielcai.blogspot.com/2011/0...s-for-crm.html
Ага, клевая штуковина, раньше почему-то не видел.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 05.03.2011, 21:53   #4  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от a33ik Посмотреть сообщение
Мой коллега Даниэл Кай пишет, что его фреймфорк - по прежнему работает - http://danielcai.blogspot.com/2011/0...s-for-crm.html

То, что его код работает через сервис 4 в 5 это заслуга MS, а не его.
А как насчёт новых возможностей, которые как я понимаю через сервис 4 не доступны?
__________________
Читайте SDK!!!
Старый 05.03.2011, 23:44   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
То, что его код работает через сервис 4 в 5 это заслуга MS, а не его.
Я и ничего и не писал про то, что это чисто заслуга Дэниэла, но его фреймворк - безспорно - очень полезная вещь.

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение

А как насчёт новых возможностей, которые как я понимаю через сервис 4 не доступны?
Ок. Приводите примеры - проконсультируюсь с автором или же можете обратиться напрямую к нему через его блог.

PS Критика ради критики - не имеет смысла
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.03.2011, 08:09   #6  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
А где Вы тут нашли критику?

P. S. Я вообще-то пытался здесь поговорить о 5, а не о 4. ( что существует для 4 я худо бедно знаю)
__________________
Читайте SDK!!!

Последний раз редактировалось Konstantin Katsovich; 06.03.2011 в 08:13.
Старый 05.03.2011, 21:18   #7  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
А кто Вам сказал, что это для людей?


Цитата:
Разумеется, изменение запроса не изменит формат возвращаемых данных.
Что Вы говорите
Например REST ENDPOINT позволяет вернуть xml или json (возможно есть ещё что-то), за счет изменения формы запроса в том же CRM ( я понимаю что это не заслуга CRM, но всё же).

Цитата:
Т.е. нет никаких опций и других поддерживаемых форматов. Есть только готовые библиотеки сторонних разработчиков, которые умеют парсить результат в удобоваримые массивы объектов, как, например, Ascentium. Но все они под CRM 4.0. Насколько я знаю, под CRM 2011 еще ни у кого ничего нет. Если вдруг уже есть, буду только рад посмотреть ссылочку.
Я так и предполагал, что это не только меня волнует.


Цитата:
Fetch всегда выполняется в контексте пользователя, который вызывает веб-сервис.
Fetch в данном случае был примером
А другие запросы не в контексте пользователя?


Цитата:
Согласитесь, если бы в запросе можно было бы указать ID любого пользователя и получить данные, которые должен видеть этот пользователь, это было бы несекьюрно?
Это именно так и происходит через "Impersonate a User"когда обращение происходит через C#.
Какая разница если я могу со своего компьютера сделать запрос через C# почему с того же компьютера через SOAP нет?


С Уважение Константин
__________________
Читайте SDK!!!
Старый 09.03.2011, 12:06   #8  
Гуревич Денис 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   #9  
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   #10  
Гуревич Денис 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   #11  
Гуревич Денис 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, время: 19:04.