Partager via


Composant Schema Resolver (exemple BizTalk Server)

L’exemple composant de programme de résolution de schéma montre comment étendre les fonctionnalités du composant de désassembleur de fichiers plats BizTalk Server.

Le composant Désassembleur de fichier plat nécessite généralement de définir un schéma d'analyse au moment de la conception. Par conséquent, si vous envisagez de recevoir différents documents de fichier plat dans un même emplacement de réception, incluez plusieurs désassembleurs de fichier plat dans le pipeline de réception, un pour chaque schéma. Au moment de l'exécution, le composant Désassembleur approprié est sélectionné à l'aide d'un mécanisme de sonde de pipeline. Il s'agit toutefois d'une approche coûteuse si vous disposez de nombreux schémas de fichier plat car le sondage de chaque composant Désassembleur correspondant dégrade les performances du pipeline.

Fonctions de l'exemple

Le composant Schema Resolver présente une autre méthode de sélection de schéma pour un Désassembleur de fichier plat. Dans cet exemple, quatre schémas sont définis et les deux premiers caractères d'un message pour chaque schéma sont uniques. Un mappage est défini entre les deux premiers caractères uniques et le schéma correspondant. Lorsque le message d'entrée est transmis au composant Schema Resolver, il lit les deux premiers caractères, détermine le schéma à pour le document correspondant, enregistre les informations de schéma dans le contexte de message, puis appelle le composant Désassembleur de fichier plat standard. Le composant Désassembleur de fichier plat standard lit les informations de schéma à partir du contexte du message et utilise ce schéma pour analyser le document.

Accès à l'exemple

<Chemin d’accès> d’exemples\Pipelines\SchemaResolverComponent\

Le tableau suivant montre les fichiers utilisés dans cet exemple et décrit leur objectif.

Fichier(s) Description
SchemaResolverSample.sln Solution pour le projet BizTalk qui utilise le composant de pipeline personnalisé.
SchemaResolverSample.btproj Projet BizTalk qui utilise le composant de pipeline personnalisé.
SchemaResolverRP.btp Pipeline de réception contenant le composant personnalisé.
PurchaseOrder.xsd, PurchaseRequest.xsd, SalesOrder.xsd, SalesRequest.xsd Schémas de fichier plat.
POInstance.txt, PRInstance.txt, SOInstance.txt, SRInstance.txt Instances de document de fichier plat correspondantes.
SchemaResolverFlatFileDasm.sln Solution pour l'implémentation du composant de pipeline.
SchemaResolverFlatFileDasm.csproj Projet C# pour l'implémentation du composant de pipeline.
SchemaResolverFlatFileDasmComp.cs Implémentation du composant de pipeline.
SeekableReadOnlyStream.cs Implémentation du flux en lecture seule identifiable utilisé par le composant.
VirtualStream.cs Implémentation du flux virtuel utilisé par le composant de pipeline.

Génération et initialisation de cet exemple

La procédure suivante permet de créer et d'initialiser l'exemple de composant Schema Resolver.

Pour créer et initialiser l'exemple

  1. Dans une fenêtre de commande, accédez au répertoire (cd) suivant :

    <Chemin d’accès> d’exemples\Pipelines\SchemaResolverComponent

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

    • Génère le composant.

    • Copie l'assembly de composant dans le dossier de composants \Pipeline de BizTalk.

    • Crée et déploie l'exemple de projet BizTalk.

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

    Notes

    Avant de tenter d'exécuter cet exemple, vous devez vérifier qu'aucune erreur n'a été signalée durant le processus de création et d'initialisation.

Exécution de cet exemple

La procédure suivante permet d'exécuter l'exemple de composant Schema Resolver.

Pour exécuter l'exemple

  1. Déposez les fichiers POInstance.txt, PRInstance.txt, SOInstance.txt et SRInstance.txt dans l’emplacement < de réception Chemin >d’installation\SDK\Samples\Pipelines\SchemaResolverComponent\In

  2. Observez les quatre fichiers .xml écrits dans le <dossier Installdir>\SDK\Samples\Pipelines\SchemaResolverComponent\Out.

Voir aussi

Pipelines (dossier d’exemples BizTalk Server)