在线CRM REST服务 - 遇到问题

时间:2012-07-19 09:26:21

标签: c# rest dynamics-crm-online

这是一项简单的任务,但我浪费的时间不止一天。这就是为什么来找你。请帮我解决这个问题。

我的要求非常简单,我有一个ASP.NET项目。我在线CRM中有一个实体

实体名称:“员工”和字段是“姓名,年龄,性别”

我无法在我的asp.net项目中添加CRM Dlls。所以我必须使用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("admin@something.com", "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();

  3. 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)时收到“验证邮件安全性时出错”错误。

    无论我到目前为止做了什么。这是我的要求,一个非常简单的使用REST服务将我的自定义实体添加到在线CRM中的条目。我将在名为http://xyz.com的单独域中运行我的web应用程序。从这里开始,我需要将这些条目添加到在线CRM中。

    任何帮助?

2 个答案:

答案 0 :(得分:1)

这看起来很奇怪,但原因是服务器和客户端上的时钟肯定不同步。

您所要做的就是检查:

  1. 客户端时钟与服务器时钟同步。
  2. 客户端和服务器都在日期时间设置
  3. 上进行协调

    此致

    凯文

    来源:herehere

答案 1 :(得分:1)

REST服务不会针对外部应用程序公开,它仅适用于内部应用程序。您可以在本地部署中解决这个问题,但在CRM Online中我没有解决方法。如果添加CRM程序集并在C#中执行此操作,则会更好。此外,使用REST服务,您严格限制在CRUD操作中,并且您无法执行分配或更改状态等操作。在我看来,SOAP服务是优越的,但它仍然无法从外部Web应用程序调用。

请参阅此链接阅读以下内容的说明 - Data Access Using JavaScript

  

注意

     

外部应用程序无法使用这些Web服务,因为Microsoft Dynamics CRM提供了身份验证。