Онлайн-сервис CRM REST — возникла проблема

Это простая задача, но я трачу больше дня. Вот почему прихожу к вам. Помогите, пожалуйста, выйти из ситуации.

Мое требование очень простое, у меня есть проект ASP.NET. И у меня есть Entity в Online CRM

Имя объекта: «Сотрудник» и поля «Имя, возраст, пол».

Я не могу добавить библиотеки CRM в свой проект asp.net. Поэтому я должен использовать службу REST.

  1. Я добавил ссылку на службу https://myoffice.crm5.dynamics.com/xrmservices/2011/organization.svc?wsdl

  2. Это код, который я использую

    OrganizationServiceClient orgClient = new OrganizationServiceClient(); orgClient.ClientCredentials.Windows.ClientCredential = new System.Net.NetworkCredential("[email protected]", "mypassword");

    Entity myContact = new Entity(); myContact.LogicalName = "Employee"; //Is it right? i must provide it here right.

    ConsoleApplication1.ServiceReference2.AttributeCollection myAttColl = new ConsoleApplication1.ServiceReference2.AttributeCollection();

myAttColl.Add(new KeyValuePair<string, object>("Name","Emp1")); myAttColl.Add(new KeyValuePair<string, object>("Age", "26")); myAttColl.Add(new KeyValuePair<string, object>("Gender", "Male"));

myContact.Attributes = myAttColl;

try
{
    orgClient.Create(myContact);
}
catch (Exception ex)
{
}

Я получаю сообщение об ошибке «Произошла ошибка при проверке безопасности сообщения» при запуске orgClient.Create(myContact).

Независимо от того, что я сделал до сих пор. Это мое требование, очень простое добавление записи в мою пользовательскую сущность в Online CRM с использованием службы REST. Я собираюсь запустить свое веб-приложение в отдельном домене с именем http://xyz.com. Отсюда мне нужно добавить записи в Online CRM.

Любая помощь?


person John Supakin    schedule 19.07.2012    source источник
comment
Вас поразила проблема или вы застряли с проблемой?   -  person Shai    schedule 19.07.2012
comment
я поражен проблемой. Я не уверен, почему я получаю сообщение «Произошла ошибка при проверке безопасности сообщения, которое мне нужно для ее устранения».   -  person John Supakin    schedule 19.07.2012


Ответы (2)


Это может показаться странным, но причина в том, что часы на сервере и на клиенте точно не синхронизированы.

Все, что вам нужно сделать, это проверить, что:

  1. Часы клиента синхронизируются с часами сервера.
  2. И клиент, и сервер согласованы в настройках дневного времени.

С уважением,

Кевин

Источники: здесь и здесь

person Kévin Rapaille    schedule 02.08.2012

Служба REST не доступна для внешних приложений, она предназначена только для внутренних приложений. Вы можете обойти это в локальном развертывании, но в CRM Online нет обходного пути, о котором я знаю. Вам будет намного лучше, если вы добавите сборки CRM и сделаете это на C#. Кроме того, с помощью службы REST вы строго ограничены операциями CRUD и не можете выполнять такие действия, как назначение или изменение состояния. На мой взгляд, служба SOAP лучше, но ее по-прежнему нельзя вызывать из внешнего веб-приложения.

См. примечание по этой ссылке: Доступ к данным с помощью JavaScript

Примечание

Внешнее приложение не может использовать эти веб-службы, поскольку аутентификация обеспечивается Microsoft Dynamics CRM.

person cchamberlain    schedule 01.11.2012