Dynamics crm 2011 MS CRM与Biztalk2010集成

Dynamics crm 2011 MS CRM与Biztalk2010集成,dynamics-crm-2011,biztalk,dynamics-crm-4,biztalk-2010,Dynamics Crm 2011,Biztalk,Dynamics Crm 4,Biztalk 2010,我计划为MS CRM和BizTalk 2010集成启动一个POC 在此之前,我想知道是否有机构使用BizTalk 2010与MS CRM集成?我们使用BizTalk 2010调用Microsoft Dynamics CRM 2011组织服务 基本上有两种方法可以做到这一点,但我致力于寻找其他方法 第一种方法是使用SDK附带的BizTalk模式以及外部基于C#的类库帮助器。这一场景在互联网上有相当多的报道。请注意,此场景将不允许BizTalk调用CRM早期绑定类(帐户等),它只允许使用通用CrmE

我计划为MS CRM和BizTalk 2010集成启动一个POC


在此之前,我想知道是否有机构使用BizTalk 2010与MS CRM集成?

我们使用BizTalk 2010调用Microsoft Dynamics CRM 2011组织服务

基本上有两种方法可以做到这一点,但我致力于寻找其他方法

第一种方法是使用SDK附带的BizTalk模式以及外部基于C#的类库帮助器。这一场景在互联网上有相当多的报道。请注意,此场景将不允许BizTalk调用CRM早期绑定类(帐户等),它只允许使用通用CrmEntity对象,这使得处理映射成为一种痛苦的体验

外部助手是处理LiveID联合特性所必需的

第一种方法的优点是简单。但不能使用BizTalk中的本机CRM类型

第二种方法是以某种方式解决上述问题,至少是部分解决。首先,它涉及构建一个WCF façade,该façade公开本机早期绑定的CRM对象(如Account等),并处理LiveID联合

生成时,早期绑定的类是不可序列化的,因此它们不能成为WCF接口(和服务)的一部分。这可以通过在每个属性上都装饰一个。此外,只读属性需要添加一个额外的空集{}。请注意,在生成的类中有大量这样(简单)的更改。幸运的是,作为一个生成的文件,语法是一致的,几个简单的正则表达式就可以了

在BizTalk方面,您将使用WCF façade元数据来生成BizTalk模式。不幸的是,您最终将得到巨大的多兆字节文件和相互依赖的模式

因此,首先,必须打破循环依赖关系。在我的例子中,我必须添加一个额外的模式来保存“契约”和“元数据”schémas都使用的共享复杂类型

其次,您不能轻松地在地图中使用生成的巨大模式。首先打开映射(或仅打开模式)需要花费很长时间。其次,编译器将阻塞,Visual Studio将崩溃

要解决此问题,需要手动更改地图的.btm XML文件中的属性

然而,我建议使用生成模式的简化版本,其中只包括作为映射一部分的节点和结构。由于大多数节点都是可选的,因此对WCF façade的XML请求最终将是相同的

第二种方法的优点是能够处理BizTalk中的本机CRM类型。但一开始,实现可能听起来很复杂。通过适当的自动化,在实践中,即使面对CRM方面的变化,它也能很好地工作

但是,没有一种方法感觉像是“本机”BizTalk集成。这就是为什么我正在寻找一种替代方法,也许是通过构建一个专用的定制绑定,但到目前为止还没有成功


希望这有帮助。

太棒了。我一直在按照同样的思路工作,也找不到你提到的任何一种选择的替代方案。