Exemple d'enrichissement de message (exemple BizTalk Server)
L'exemple d'enrichissement de message montre comment ajouter des en-têtes d'échange à des messages sous forme de document informatisé pour des documents X12 et EDIFACT.
Fonctions de l'exemple
Cet exemple montre comment ajouter à des documents informatisés des en-têtes UNA, UNB et UNG pour EDIFACT, et des en-têtes ISA pour X12. Plus précisément, cet exemple effectue les opérations suivantes :
Lorsque vous déposez le message test dans le dossier \Message Enrichment\In, le port de réception le récupère, le traite, puis le dépose dans la boîte MessageBox.
L'orchestration MessageEnrichmentOrchestration récupère le message test dans la boîte MessageBox parce qu'il s'abonne aux messages sur la base d'une expression de filtre définie sur sa forme Réception.
L'orchestration lit les en-têtes d'échange dans les propriétés de contexte du message.
Notes
Les en-têtes UNA et UNG étant facultatifs dans un message EDIFACT, ils peuvent manquer dans les propriétés de contexte d'un message.
L'orchestration écrit les en-têtes d'échange et le corps de message dans un nouveau message unique.
L'orchestration promeut des propriétés supplémentaires qui sont définies dans le type de corrélation ReceivePortNameCorrelationType sur le message. Celles-ci permettent aux utilisateurs de l'orchestration de sélectionner la liste des propriétés dont ils ont besoin pour leur abonnement. Ces propriétés sont écrites dans une forme Construire un message. Les propriétés de contexte écrites dans le message d'origine ne sont pas toutes écrites dans le nouveau message.
L'orchestration dépose le nouveau message dans la boîte MessageBox.
Le port d'envoi récupère le nouveau message et l'envoie via l'adaptateur FILE vers le dossier \Message Enrichment\Out.
Accès à l'exemple
Cet exemple se trouve dans le dossier d’installation BizTalk Server : \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment.
Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.
Fichier(s) | Description |
---|---|
Cleanup.bat | Annule le déploiement de l'exemple de scénario. Pour que l'opération réussisse, il ne peut y avoir aucune instance active de l'orchestration. Dans le cas contraire, elle échoue. |
MessageEnrichment.sln | Contient les projets MessageEnrichment et MessageEnrichmentLibrary. |
Setup.bat | Déploie un exemple de scénario consistant en un port de réception, un port d'envoi et une orchestration. |
EDIFACT_example.edi | Message EDIFACT d'entrée. |
X12_example.edi | Message X12 d'entrée. |
MessageEnrichment.btproj | Projet contenant les orchestrations et les schémas MessageEnrichment. |
MessageEnrichmentBindings.xml | Fichier contenant des liaisons pour l'orchestration, les ports et les tiers. |
MessageEnrichmentOrchestration.odx | Orchestration qui ajoute les en-têtes au message. |
MessageEnrichmentOrchestration.odx.cs | Code d'orchestration qui ajoute les en-têtes au message. |
EFACT_D98B_APERAK.xsd | Schéma EDIFACT pour le message d'entrée. |
Enriched_EFACT_D98B_APERAK.xsd | Schéma EDIFACT pour le message de sortie. |
X12_00401_864.xsd | Schéma X12 pour le message d'entrée. |
Enriched_X12_00401_864.xsd | Schéma X12 pour le message de sortie. |
Headers.xsd | Schémas pour les en-têtes ajoutés aux messages d'entrée. |
MessageEnrichmentLibrary.csproj | Projet contenant les fichiers Headers.cs, OrchestrationUtilities.cs et ParseHeaders.cs. |
Headers.cs | Inclut des classes représentant des données d'en-têtes. |
OrchestrationUtilities.cs | Inclut des méthodes d'utilitaire utilisées par l'orchestration. |
ParseHeaders.cs | Inclut les valeurs par défaut pour UNA, qui sont utilisées dans les nouveaux messages. Ces valeurs sont extraites de la méthode SerializeEDIFACTHeaders dans ParseHeaders.cs. |
Guide pratique pour utiliser cet exemple
Utilisez cet exemple comme exemple de travail des actions requises pour ajouter des en-têtes d'échange pour les messages sous forme de documents informatisés EDI.
Génération et initialisation de cet exemple
Pour créer et initialiser l'exemple d'enrichissement de message, vous devez créer et déployer le projet BizTalk pour cet exemple, configurer le port et l'emplacement de réception et configurer deux ports d'envoi différents.
Pour créer et déployer le projet BizTalk pour cet exemple
À l’aide de Notepad.Exe, ouvrez \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\MessageEnrichment\
MessageEnrichment\properties\AssemblyInfo.cs et ajoutez la ligne suivante en bas du fichier :[assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssembly(typeof(Microsoft.BizTalk.XLANGs.BTXEngine.BTXService))]
Enregistrez le fichier AssemblyInfo.cs modifié, puis quittez le Bloc-notes.
Dans une fenêtre de commande, accédez au dossier suivant :
\Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment
Exécutez Setup.bat, qui effectue les actions suivantes :
Crée les dossiers de réception (in) et d’envoi (out) pour cet exemple dans le dossier \MessageEnrichment.
Écrit une paire de clés dans MessageEnrichmentLibrary\testkey.snk.
Crée et déploie le projet MessageEnrichmentLibrary.btproj.
Crée et déploie le projet MessageEnrichment.btproj.
Lit les informations de liaison dans MessageEnrichmentBindings.xml.
Notes
La liaison pour ce projet requiert que l'hôte BizTalk soit marqué comme Approuvé par authentification. Pour utiliser ceci avec un hôte non approuvé, modifiez le fichier MessageEnrichmentBindings.xml et les entrées HostTrusted=”true” en HostTrusted=”false”.
Met à jour les liaisons d'orchestration.
Mises à jour les ports d'envoi, les groupes de ports d'envoi et les ports de réception.
Met à jour les tiers et les inscriptions.
Démarre le port d'envoi.
Il active l'emplacement de réception.
inscrit et démarre l'orchestration.
BizTalk Server est désormais prêt à opérer avec cet exemple.
Exécution de cet exemple
Utilisez la procédure suivante pour exécuter l'exemple d'enrichissement de message.
Pour exécuter l'exemple
Copiez le fichier EDIFACT_examples.edi à partir du dossier \MessageEnrichment\Instances dans le dossier \MessageEnrichment\In.
Vérifiez que le fichier EDIFACT_examples.edi disparaît du dossier \MessageEnrichment\In et apparaît dans le dossier \MessageEnrichment\Out.
Ouvrez le fichier dans le dossier \MessageEnrichment\Out. Vérifiez qu'il s'agit d'une représentation XML du fichier EDIFACT_examples.edi figurant dans le dossier \MessageEnrichment\Instances, dont le contenu est identique à celui du fichier EDIFACT_examples.edi, à l'exception du fait que le fichier de sortie contient des en-têtes EDIFACT UNA, UNB et UNG.
Répétez les étapes 1 et 2 avec le fichier X12_examples.edi figurant dans le dossier \MessageEnrichment\Instances.
Ouvrez le nouveau fichier dans le dossier \MessageEnrichment\Out. Vérifiez qu'il s'agit d'une représentation XML du fichier X12_examples.edi figurant dans le dossier \MessageEnrichment\Instances, dont le contenu est identique à celui du fichier X12_examples.edi, à l'exception du fait que le fichier de sortie contient des en-têtes X12 ISA.
Classes ou méthodes utilisées dans l'exemple
None