Quel est le meilleur moyen pour créer un nouveau message dans une Orchestration de Biztalk?
Je suis à la recherche de votre meilleur des solutions pour la création d'une nouvelle instance de message basé sur un pré-définis schéma XSD pour être utilisé dans une orchestration de Biztalk.
Votes supplémentaires en aller pour des réponses claires & efficace des exemples ou des réponses de qualité référencé liens.
OriginalL'auteur chinna | 2008-11-24
Vous devez vous connecter pour publier un commentaire.
Exactement ce que vous recherchez? Est-il juste de créer un nouveau message avec un contenu fixe (comme une sorte de modèle)? Ou quelque chose d'autre? Vous avez vraiment besoin de clarifier la question et d'être plus précis pour obtenir une réponse appropriée.
Si vous faites allusion à la simple création d'un message à partir de zéro, avec un genre de contenu codé en dur (ou à proximité), puis j'ai trouvé que mettre comme ressources incorporées dans un helper C# de l'assemblée pour être un assez propre façon de faire. Scott Colestock a un joli bonne explication de cette technique.
OriginalL'auteur tomasr
Il y a plusieurs options lorsque l'on veut créer une nouvelle instance d'un message dans une orchestration de BizTalk.
J'ai décrit les trois, je finissent généralement à l'aide ainsi que l'ajout de quelques liens en bas de la réponse.
Comment définir ce qui est la meilleure méthode dépend vraiment de la XMLDocument méthode est, à certains égards, la tidiest sauf que si votre schéma changements cela peut casser sans que vous en ayez connaissance. Scott Colestock décrit certaines des méthodes d'atténuation des risques.
BizTalk méthode de Cartographie est probablement le plus simple à comprendre et ne cassera pas lorsque la modification du schéma. Pour les petits schémas cela peut être un bon choix.
Pour toutes ces méthodes, une chose importante à retenir est que si vous voulez utiliser distingue les champs ou propriétés promues vous souhaitez créer des éléments vides à remplir. Vous frappera d'exécution
XLANG
des erreurs si vous essayez d'assigner des valeurs aux éléments manquants (même si ces éléments peuvent être en option)BizTalk Carte
L'option la plus simple est d'utiliser une carte de BizTalk - vous n'avez pas nécessairement besoin de carte quoi que ce soit dans l'instance créée.
Pour créer des éléments vides, vous pouvez simplement la carte dans une concaténation de chaîne de données avec une chaîne vide paramètre.
Assigner un message à un autre
Si vous souhaitez créer une nouvelle instance d'un message vous pouvez simplement copier un mesage à un autre message du même schéma, dans une forme d'assignation de message.
Utiliser un XMLDocument variable
Pour cela, vous créez une orchestration variable de type
XMLDocument
et puis, dans unmessage assignment
utiliser leLoadXML
méthode pour charger un fragment de code XML qui correspond à votre schéma. Vous pouvez ensuite affecter leXMLDocument
souhaité BizTalk message.L'inclusion de
AnElementToPopulate
vous permet à l'aide de la propriété de promotion de la lui attribuer.J'ai rarement rappeler la syntaxe pour ce faire sur le dessus de ma tête, cette est mon aller à l'entrée de blog pour me rappelant de la syntaxe.
Un autre lien ici les détails de certaines méthodes.
OriginalL'auteur David Hall
Pour créer un nouveau message, vous pouvez simplement créer un nouveau
System.Xml.XmlDocument
et l'assigner à une variable message. Vous pouvez aussi utiliserLoad
ouLoadXml
méthodes pour charger le contenu qui est conforme au schéma.OriginalL'auteur Greg Beech
Ce tutoriel peut être d'une certaine aide:
BizTalk Server 2006 Tutoriel - Une Promenade à Travers le Processus de
La création de services avec le premier contrat de la conception à l'aide de BizTalk Server 2006 R2 et Windows Communication Foundation
http://dotnet.sys-con.com/node/647092
OriginalL'auteur Kelvin Meeks
Check out my blog post - Du plaisir avec la Création de Messages dans BizTalk - pour un rendement de base de comparaison entre les différentes options.
OriginalL'auteur Yossi Dahan
Vous pouvez l'utiliser pour générer des classes c# pour un fichier de schéma. Le résultat est une .cs fichier que vous pouvez inclure dans l'un de vos projets.
Lors de l'utilisation au sein d'une "Forme d'Assignation de Message", vous pouvez créer une instance d'une de ces classes générées, remplissez les valeurs de toutes les propriétés, puis finalement affecter la partie du Message à votre instance. Biztalk auto-magiquement sérialiser l'instance pour vous. Nice et OO. Pas besoin de fantaisie xlang choses.
Je n'ai pas vraiment eu beaucoup de chance avec certaines autres solutions comme le chargement jusqu'à une température de XmlDocument avec codé en dur XML, ou d'aller le porc entier et à l'aide de la documentSpecification.GetDocSchema().CreateXmlInstance() que d'autres ont suggéré.
OriginalL'auteur Ross Oliver