在Microsoft Dynamics CRM和第三方应用程序之间实现双向通信

时间:2010-04-27 09:25:17

标签: dynamics-crm

我需要在Microsoft Dynamics CRM和第三方服务器之间实现双向通信。理想情况如下:

  1. 用户尝试在CRM中创建实体
  2. 在预创建挂钩中,调用第三方库函数(或Web服务或其他),填充相关信息,尝试在服务器上创建相应的实体
  3. 如果通话失败,则CRM中的创建失败
  4. 如果通话成功,则在CRM中创建实体 AND 其他字段将填充来自通话的返回值
  5. 更具体地说,当用户尝试创建新的实体实例时,我想做类似的事情:

    try {
        ExternalWebService.CreateTrade(ref TradeInfo info)
        //this was initialized on the external server
        myCRM_Trade_Entity.SerialNo = info.SerialNo; 
        CreateNew(myCRM_Trade_Entity);
    
    } catch (whatever) {
        fail;
    }
    

    建议的方法是什么?我是Dynamics的新手,已阅读有关工作流程和插件的信息,但我不确定应该如何正确地执行此操作。

1 个答案:

答案 0 :(得分:2)

这样做的方法显然是一个插件,除非Web服务调用的进程很长并且可能会超时。

避免创建实体的唯一方法是创建一个插件并将其挂钩到预创建事件上,就像你说的那样。

使用工作流程时,必须在执行工作流程之前保存实体。

我认为你很好。但是,我会避免包含库,webservice解决方案应该更好,因为在注册插件程序集之前不需要注册其他库。