Question

Je prévois de commencer un POC pour MS CRM et BizTalk 2010 Intégration.

Avant que je voulais savoir ne importe quel organisme à utiliser le BizTalk 2010 pour l'intégration avec MS CRM?

Était-ce utile?

La solution

Nous utilisons BizTalk 2010 pour appeler dans Microsoft Dynamics CRM 2011 Service Organisation.

Il existe deux façons de le faire, mais je me suis engagé à trouver d'autres.

La première est d'utiliser les schémas de BizTalk navire avec le SDK ainsi qu'une aide bibliothèque externe C # classe basée. Ce scénario est assez tell couvert sur Internet. Notez que ce scénario ne permettra pas d'appeler BizTalk dans le CRM des classes précoce liées (compte, etc.) Il ne permettra d'utiliser l'objet de CrmEntity générique qui rend le traitement de la cartographie une expérience douloureuse.

L'aide extérieure est nécessaire pour faire face à la fédération LiveID idiosyncrasies.

Cette première méthode présente l'avantage d'être simple. Mais vous ne pouvez pas utiliser des types de CRM natif de BizTalk.

La deuxième façon est de résoudre en quelque sorte les problèmes ci-dessus, au moins en partie. Tout d'abord, il consiste à construire une façade WCF qui expose des objets CRM natif précoce lié (comme le compte, etc.) et qui traite de la fédération LiveID.

générée, les classes précoce liées ne sont pas sérialisables afin qu'ils ne peuvent pas faire partie d'une interface WCF (et service). Ceci peut être résolu par la décoration de chaque et tous les propriétés avec un DataContractAttribute . En outre, en lecture seule propriétés doivent avoir un jeu supplémentaire vide {} ajoutés à eux. S'il vous plaît, notez qu'il ya un grand nombre de ces (simple) passe à faire dans les classes générées. Heureusement, en tant que fichier généré, la syntaxe est cohérente et un couple de simples RegEx fera.

Du côté de BizTalk, vous consommerez les métadonnées de façade WCF afin de générer des schémas BizTalk. Malheureusement, vous finirez avec d'énormes fichiers de plusieurs méga-octets et schémas croix DÉPENDANT.

Alors, d'abord, vous devez briser les dépendances circulaires. Dans mon cas, je devais ajouter un schéma supplémentaire pour tenir partagé des types complexes qui ont été utilisés par le « contrat » et les « schemes de métadonnées ».

Ensuite, vous ne pouvez pas facilement utiliser les énormes schémas générés dans vos cartes. Première ouverture de la carte (ou le schéma seul) prendra les âges. En second lieu, le compilateur Visual Studio starter et se bloque.

Pour résoudre ce problème, vous devez modifier manuellement le attribut de GenerateDefaultFixedNodes dans le fichier XML .btm de votre carte.

Ce que je recommande, cependant, est d'utiliser une version simplifiée des schémas générés, où vous ne comprennent que les nœuds et les structures qui font partie de la cartographie. Comme la plupart des noeuds sont facultatifs, la requête XML résultant de la façade de WCF finira par être le même.

L'avantage de cette deuxième méthode consiste à être en mesure de traiter les types CRM natif de BizTalk. Mais la mise en œuvre peut paraître compliqué au premier abord. Grâce à l'automatisation appropriée, en pratique, il fonctionne très bien, même face à des changements du côté CRM.

Aucune des méthodes, cependant, se sentir comme l'intégration de BizTalk « natif ». C'est la raison pour laquelle je travaille sur la recherche d'une autre façon, peut-être en construisant la liaison d'une mesure spécifique, mais jusqu'à présent sans succès.

Voir ma question ici .

Hope this helps.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top