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
Dans une fenêtre de commande, accédez au répertoire (cd) suivant :
<Chemin d’accès> d’exemples\Pipelines\SchemaResolverComponent
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
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
Observez les quatre fichiers .xml écrits dans le <dossier Installdir>\SDK\Samples\Pipelines\SchemaResolverComponent\Out.