Partager via


FlatFileSend (exemple BizTalk Server)

L’exemple FlatFileSend montre comment utiliser BizTalk Server pour traiter un fichier XML dans le fichier plat équivalent.

Fonctions de l'exemple

Cet exemple permet de configurer le dossier FFInput en tant qu'emplacement de réception. Lorsque vous placez un fichier, tel que l’exemple de fichier FlatFileSend_in.xml, dans ce dossier, BizTalk Server traite le message dans ce fichier en procédant comme suit :

  1. BizTalk Server lit le message du fichier d’entrée dans le dossier d’emplacement de réception FFInput.

  2. Le message est transmis via un pipeline de réception XML.

  3. Dans la base de données MessageBox, le message est acheminé vers un port d'envoi FILE qui dispose d'un pipeline d'envoi configuré avec un composant Assembleur de fichier plat. Ce dernier convertit le message XML en une représentation de fichier plat équivalente à l'aide d'un schéma de fichier plat.

  4. BizTalk Server écrit le message converti dans un fichier texte dans le dossier d’adaptateur d’envoi FFOutput.

Comment cet exemple est conçu et pourquoi

Dans cet exemple, la plus grande partie de la conception de base est imposée par l'exemple de message. Les messages de fichier plat doivent être assemblés à l'aide de l'Assembleur de fichier plat et un schéma de fichier plat doit l'être au sein d'un pipeline d'envoi personnalisé. Ces critères de conception sont récapitulés dans le tableau suivant.

Élément de conception Raison(s) sélectionnée(s)
Pipeline d'envoi personnalisé - Le pipeline personnalisé utilise l’assembleur de fichiers plats et un schéma de fichier plat pour traduire les messages instance au format de fichier plat ; l’assembleur de fichiers plats n’est pas lui-même un pipeline et ne peut pas être utilisé lors de la configuration d’un pipeline d’envoi dans la console de gestion BizTalk Server.
Schéma de fichier plat - Définissez toutes les mêmes caractéristiques d’enregistrement et de champ (y compris la structure) en tant que schéma XML et fournit un mécanisme pour définir toutes les caractéristiques de fichier plat requises pour traduire un message de instance XML en message de fichier plat (ou vice versa).
Filtre d’abonnement - Le filtre d’abonnement effectue le routage réel en capturant les messages qui répondent à un ou plusieurs critères en fonction des champs de propriété.
XMLReceive - Effectue le traitement des messages XML entrants. Dans le cadre de cet exemple, une représentation XML d'un bon de commande est utilisée comme message source.

Ces éléments sont combinés afin de générer une solution qui accepte les messages de bon de commande au format XML dans l'emplacement de réception et qui les convertisse en bon de commande de fichier plat dans l'emplacement d'envoi.

Accès à l'exemple

<Chemin d’accès> d’exemples\Pipelines\AssembleDisassembler\FlatFileSend

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

Fichier(s) Description
Cleanup.bat Permet d'annuler le déploiement des assemblys et de supprimer ceux-ci du Global Assembly Cache. Supprime les ports d'envoi et de réception. Supprime les répertoires virtuels Microsoft Internet Information Services (IIS) le cas échéant.
FlatFileSend.btproj, FlatFileSend.sln Fichiers projet et solution de l'exemple.
FlatFileSendBinding.xml Utilisé pour une configuration automatisée, telle que la liaison de port.
FlatFileSend_in.xml Exemple de fichier d'entrée.
PO.xsd Schéma pour le fichier plat sortant.
SendPipeline.btp BizTalk Server envoyer un fichier de pipeline avec le composant Assembleur de fichiers plats.
Setup.bat Utilisé pour générer et initialiser cet exemple.

Guide pratique pour utiliser cet exemple

Utilisez cet exemple comme base de votre propre solution de traitement de fichier plat. Vous pouvez étendre un grand nombre des éléments de conception utilisés dans le cadre de cet exemple pour répondre à vos besoins spécifiques.

Génération et initialisation de cet exemple

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

    <Chemin d’accès> d’exemples\Pipelines\AssembleDisassembler\FlatFileSend

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

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

      <Chemin d’accès> d’exemples\Pipelines\AssembleDisassembler\FlatFileSend

    • Compile le projet 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 "FlatFileSend_RL"; updating with first receive handler with matching transport type. Warning: Host not specified for orchestration "FlatFileSend"; updating with first available host. vous pouvez ignorer ces avertissements en toute sécurité. (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 décidez d'ouvrir et de créer le projet de cet exemple sans exécuter Setup.bat, vous devez commencer par créer une paire de clés de nom fort à l'aide de .NET Framework Strong Name Utility (sn.exe). Utilisez cette paire de clés pour signer l'assembly obtenu.

Notes

Pour annuler les modifications effectuées par Setup.bat, exécutez Cleanup.bat. Vous devez exécuter Cleanup.bat avant d'exécuter Cleanup.bat une seconde fois.

Exécution de cet exemple

  1. Placez une copie du fichier FlatFileSend_in.xml dans le dossier FFInput.

  2. Observez le fichier texte créé dans le dossier FFOutput. Le nom du fichier texte est basé sur le GUID de l’ID de message. Ce fichier contient le fichier plat équivalent au fichier d'entrée XML FlatFileSend_in.xml.

Classes ou méthodes utilisées dans l'exemple

Les scripts de configuration Setup.bat et Cleanup.bat dépendent des scripts Windows Management Instrumentation (WMI) d'administration suivants :

  • Démarrage du port d'envoi\StartSendPort.vbs

  • Activation de l'emplacement de réception\EnableRecLoc

  • Suppression du port d'envoi\RemoveSendPort

    Les fichiers de commandes d'installation et de désinstallation utilisent BTSTask comme suit :

  • BTSTask ImportBindings pour appliquer le fichier de liaison et créer l’application, les ports et les liaisons

  • BTSTask RemoveApp pour supprimer flatFileSendApplication

Voir aussi