CustomComponent (exemple BizTalk Server)

L'exemple CustomComponent présente la création et l'utilisation d'un composant de pipeline personnalisé qui modifie un message transmis. Cet exemple illustre également la configuration d'un composant de pipeline personnalisé dans le Concepteur de pipeline.

Fonctions de l'exemple

Cet exemple implémente un composant de pipeline personnalisé qui peut ajouter des chaînes avant ou après le message d'entrée. BizTalk Server traite le message en mode streaming, ce qui signifie que l’intégralité du message n’est jamais chargée en mémoire. Le composant de pipeline personnalisé est présenté à l'aide de la séquence d'étapes suivante :

  1. BizTalk récupère un message texte à partir d'un fichier dans un dossier spécifique.

  2. Le message texte est envoyé via un pipeline de réception contenant le composant de pipeline personnalisé FixMsg. Vous configurez ce composant pour insérer une chaîne au début du message.

  3. Vous envoyez le message texte obtenu via un pipeline d'envoi contenant le composant de pipeline personnalisé FixMsg. Vous configurez le composant pour ajouter une chaîne à la fin du message.

  4. BizTalk Server écrit le message texte résultant dans un fichier dans un dossier spécifique.

Accès à l'exemple

<Chemin d’accès> des exemples\Pipelines\CustomComponent\

Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.

Fichier(s) Description
Cleanup.bat Utilisé pour annuler le déploiement des assemblys et les supprimer du Global Assembly Cache (GAC). Supprime les ports d'envoi et de réception. Supprime les répertoires virtuels Microsoft Internet Information Services (IIS) le cas échéant.
Input.txt Exemple de fichier d'entrée.
Setup.bat Utilisé pour générer et initialiser cet exemple.
Dans le dossier \FixMsg :

AssemblyInfo.cs, FixMsg.csproj, FixMsg.sln
Fichiers de projet, de solution et d'informations de l'assembly pour la partie du composant de pipeline personnalisé de cet exemple.
Dans le dossier \FixMsg :

FixMsg.cs
Implémente les interfaces de composant de pipeline.
Dans le dossier \FixMsg :

FixMsgStream.cs
Implémente un wrapper pour la classe System.IO.Stream , permettant le traitement de flux de données.
Dans le dossier \FixMsg :

FixMsgDescription.cs
Fournit des méthodes pour l'accès et l'affichage des ressources de l'interface utilisateur de composant dans le Concepteur de pipeline.
Dans le dossier \FixMsg :

FixMsg.resx
Contient des descriptions de propriété, une icône et des messages d'erreur.
Dans le dossier \PipelineComponentSample :

PipelineComponentSample.btproj, PipelineComponentSample.sln
Fichiers de projet et de solution pour la partie du projet BizTalk de cet exemple.
Dans le dossier \PipelineComponentSample :

PipelineComponentSampleBinding.xml
Utilisé pour une configuration automatisée, telle que la liaison de port.
Dans le dossier \PipelineComponentSample :

FixMsgReceivePipeline.btp, FixMsgSendPipeline.btp
BizTalk Server pipelines contenant le composant de pipeline personnalisé FixMsg, respectivement pour les pipelines de réception et d’envoi.

Génération et initialisation de cet exemple

Pour créer et initialiser l'exemple CustomComponent

  1. Dans une fenêtre de commande, accédez au dossier suivant :

    <Chemin d’accès> des exemples\Pipelines\CustomComponent

  2. Exécutez le fichier Setup.bat, qui effectue les actions suivantes :

    • Création des dossiers d'entrée (In) et de sortie (Out) associés à cet exemple dans le dossier :

      <Chemin d’accès> des exemples\Pipelines\CustomComponent

    • Compile et déploie les projets Visual Studio pour cet exemple.

    • Création et liaison de l'emplacement de réception de BizTalk Server, ainsi que des ports d'envoi et de réception.

      Notes

      Cet exemple affiche les avertissements suivants lors de la création et de la liaison des ports :

      Warning: Receive handler not specified for receive location "PCReceiveLocation"; updating with first receive handler with matching transport type.

      Warning: Host not specified for orchestration "CustomComponent"; updating with first available host.

      Vous pouvez ignorer ces avertissements sans problème. (Pour s'adapter aux éventuelles différences d'attribution de noms dans les installations utilisateur, le nom d'hôte et le gestionnaire de réception ont été omis dans le fichier de liaison.)

    • Active l'emplacement de réception, et démarre le port d'envoi.

Notes

Avant d'essayer d'exécuter cet exemple, vous devez vous assurer que BizTalk Server n'a signalé aucune erreur lors du processus de création et d'initialisation.

Notes

Si vous choisissez d’ouvrir et de générer les projets dans cet exemple sans exécuter le fichier Setup.bat, vous devez d’abord créer une paire de clés de nom fort à l’aide de l’utilitaire .NET Framework Strong Name (sn.exe). Utilisez cette paire de clés pour signer les assemblys obtenus.

Notes

Pour annuler les modifications apportées par Setup.bat, arrêtez puis redémarrez l'instance de l'hôte à partir de la console MMC Administration de BizTalk Server. Ensuite, exécutez Cleanup.bat. Vous devez exécuter Cleanup.bat avant d'exécuter Cleanup.bat une seconde fois.

Exécution de cet exemple

Pour exécuter l'exemple CustomComponent

  1. Collez une copie du fichier texte Input.txt dans le dossier In.

  2. Observez le fichier texte créé dans le dossier Out. Ce fichier contient le contenu du fichier Input.txt avec du texte supplémentaire inséré au début (par le pipeline de réception) et à la fin (par le pipeline d’envoi). Le format du nom de ce fichier est <MessageID>.xml, où <MessageID> est le GUID généré pour identifier le message de manière unique.

Commentaires

Pour afficher les pipelines préconfigurés dans le Concepteur de pipeline, procédez comme suit :

  1. Dans l'Explorateur de solutions, double-cliquez sur ReceivePipeline.btp pour ouvrir le pipeline de réception dans le Concepteur de pipeline. Notez que le composant FixMsg est placé à l’étape Valider du pipeline de réception.

  2. Cliquez sur le composant FixMsg à l’étape Valider sur l’aire de conception. Dans la fenêtre Propriétés, vous pouvez voir les propriétés de configuration du composant de pipeline. Notez que la propriété PrependData est définie sur Données pour ajouter dans la chaîne de pipeline de réception.

  3. Dans l'Explorateur de solutions, double-cliquez sur SendPipeline.btp pour ouvrir le pipeline d'envoi dans le Concepteur de pipeline. Notez que le composant FixMsg est placé dans l’étape Préassemb du pipeline d’envoi.

  4. Cliquez sur le composant FixMsg à l’étape De préassemblons sur l’aire de conception. Notez que la propriété AppendData est définie sur Données à ajouter dans la chaîne de pipeline d’envoi.

Voir aussi

Pipelines (dossier d’exemples BizTalk Server)