Partager via


Outils de pipeline

Les outils de pipeline fournis avec le Kit de développement logiciel (SDK) Microsoft BizTalk Server vous permettent de vérifier qu’un pipeline fonctionne correctement sans avoir à configurer l’environnement BizTalk Server, comme les ports d’envoi/réception. Vous pouvez aussi utiliser les outils de pipeline pour :

  • déboguer des composants de pipeline tiers hors de l'environnement serveur ;

  • diagnostiquer les messages d'erreur du moteur d'analyse ;

  • essayer différents schémas sans avoir à compiler, déployer, annuler le déploiement et recompiler ;

  • explorer le comportement de l'assembleur/désassembleur de fichier plat et XML ;

  • visualiser les résultats du désassembleur et découvrir quelles propriétés de contexte de message sont promues et leurs valeurs ;

  • exécuter des pipelines d'envoi/réception sans composants de désassembleur ou d'assembleur (vous pouvez par exemple visualiser les résultats du décodeur S/MIME) ;

  • effectuer des mesures précises des performances du pipeline seul (plutôt que de l'ensemble du sous-système de messagerie).

Emplacement dans le kit de développement logiciel (SDK)

<Chemin >d’installation\SDK\Utilities\PipelineTools

Utilisez les outils de pipeline pour exécuter, déboguer et profiler les pipelines et les composants de pipeline (c'est-à-dire les composants de l'assembleur/désassembleur de fichier plat et XML).

Inventaire des fichiers

Le tableau suivant répertorie les fichiers des outils de pipeline et décrit leur finalité.

Fichier(s) Description
DSDump.exe Vous permet de vider la structure des schémas de document (représentation simplifiée en mémoire du ou des schémas XSD) avec ou sans annotations de fichier plat. Cet outil pourra vous être utile si le moteur d'analyse vous envoie des erreurs comme $Root$0$3$2 et que vous devez les décoder. Les chiffres suivants $ représentent les index ou les enregistrements de base 0 tels qu'ils apparaissent dans le schéma de document.
FFAsm.exe Exécute le composant Assembleur de fichier plat, l'appelle directement en émulant un pipeline d'envoi, le but étant que vous puissiez voir comment il sérialise ou assemble le ou les documents XML d'un utilisateur en un document de fichier plat.
FFDasm.exe Exécute le composant Désassembleur de fichier plat, l'appelle directement en émulant un pipeline de réception, le but étant que vous puissiez voir comment il analyse ou désassemble le document de fichier plat d'un utilisateur en un ou plusieurs documents XML.
Pipeline.exe Exécute un pipeline d'envoi ou de réception, accepte un ou plusieurs documents d'entrée ainsi que leurs parties, leurs schémas XSD et les informations connexes, et produit un document de sortie une fois le pipeline exécuté. Pipeline.exe n’accède pas aux bases de données BizTalk Server. Par conséquent, les pipelines contenant des composants d’assembleur et de désassembleur bizTalk Framework qui accèdent aux bases de données BizTalk Server pendant l’exécution peuvent ne pas être pris en charge.
XMLAsm.exe Exécute le composant Assembleur XML, l'appelle directement en émulant un pipeline d'envoi, le but étant que vous puissiez voir comment il sérialise, assemble ou enveloppe le ou les documents XML d'un utilisateur en un document XML de sortie.
XMLDasm.exe Exécute le composant Désassembleur XML, l'appelle directement en émulant un pipeline de réception, le but étant que vous puissiez voir comment il analyse, désassemble ou désenveloppe le document XML d'un utilisateur en un ou plusieurs documents XML.

Utilisation

Une description plus détaillée de chaque fichier est fournie dans les sections qui suivent.

DSDump.exe

DSDump.exe vous permet de vider la structure des schémas de document (représentation simplifiée en mémoire d'un ou de plusieurs schémas XSD) avec ou sans annotations de fichier plat.

DSDump.exe (outil de vidage de schémas de documents) prend en charge le paramètre de ligne de commande suivant :

DSDump.exe schemaFileName  

En cas de réussite, DSDump imprime le schéma de document sur la console.

FFAsm.exe

FFAsm.exe (assembleur de fichier plat) prend en charge les paramètres de ligne de commande suivants :

usage: ffasm document... [-dm documentMask...]-bs bodySchema [ -hs headerSchema ] [ -ts trailerSchema ] [ -c ] [ -d ] [ -sb ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           XML document(s)  
  documentMask       XML document(s) file mask, e.g., c:\\documents\\*.xml  
  bodySchema         Flat File body schema  
  headerSchema       Flat File header schema  
  trailerSchema      Flat File trailer schema  
  -c                 Display assembled FF message on the console  
  -d                 Demote properties  
  -sb                Set body schema(s) as design-time property  
  -m                 Output file name mask (default is %MessageID%)  
  encoding           Output message encoding name (e.g. windows-1252) or   
                         code page (e.g. 936)  
  -v                 Verbose mode  

file name macros:  
  %MessageID%        FF message identifier (Guid)  
  %MessagePartID%    FF message part identifier (Guid)  

Par exemple, si vous souhaitez assembler trois documents XML d'entrée en un seul document de fichier plat avec une rétrogradation d'en-têtes et de propriétés, utilisez la commande suivante :

FFAsm.exe file_in1.xml file_in2.xml file_in3.xml –hs myHeaderSchema.xsd –bs myBodySchema.xsd -d  

FFDasm.exe

FFDasm.exe (désassembleur de fichier plat) prend en charge les paramètres de ligne de commande suivants :

usage: ffdasm document -bs bodySchema [ -hs headerSchema ] [ -ts trailerSchema ] [ -s ] [ -c ] [ -p ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           Flat File document  
  bodySchema         Flat File body schema  
  headerSchema       Flat File header schema  
  trailerSchema      Flat File trailer schema  
  -s                 Validate document structure  
  -c                 Display disassembled XML message on the console  
  -p                 Display promoted properties on the console  
  encoding           Input message body part encoding name (e.g. windows-1252) or code page (e.g., 396)  
  -m                 Output file name mask (default is %MessageID%)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  

Par exemple, si vous souhaitez désassembler un document de fichier plat comportant un en-tête, un corps et un code de fin, et afficher les résultats dans la console, utilisez la commande suivante :

FFDasm.exe file_in.txt –hs myHeaderSchema.xsd –bs myBodySchema.xsd –ts myTrailerSchema.xsd –c  

Pipeline.exe

Pipeline.exe (l'outil de pipeline) prend en charge les paramètres de ligne de commande suivants :

usage: pipeline ( pipeline[.btp] | -pt pipelineTypeName [ -an assemblyName ] ) -d document... [ -part part... ] [ -s schema[.xsd][:namespace.type]... ] [ -proj project[.btproj] ] [ -p ] [ -c ] [ -t ] [ -m filenamemask ] [ -pm partfilenamemask ] [ -en encoding ] [ -v ]  

where:  
  pipeline                Pipeline file name  
  pipelineTypeName     Compiled pipeline assembly qualified type name (e.g.   
"MyPipelines.ReceivePipeline, MyPipelines,   
Version=1.0.0.0, Culture=neutral,   
PublicKeyToken=e03965cb5971ad66" or full name (e.g.   
"MyPipelines.ReceivePipeline") if assembly name is   
specified  
  assemblyName         Compiled pipeline assembly file name (e.g.   
MyPipelines.dll) or name (e.g. "MyPipelines,   
Version=1.0.0.0, Culture=neutral,   
PublicKeyToken=e03965cb5971ad66")  
  document             Input document(s)  
  part                 Input document's part  
  schema               Schema file name  
  namespace            Schema namespace (as in BizTalk project system)  
  type                 Schema type (as in BizTalk project system)  
  project              BizTalk project file  
  -p                   Display promoted context properties for receive and   
send pipelines, and promote context properties for   
send pipelines  
  -c                      Display output document on the console  
  -t                      Display elapsed time of components execution  
  filenamemask         Output message file name mask (default is   
Message_%MessageID%.out)  
  partfilenamemask     Output part file name mask (default is   
Part_%MessagePartID%.out)  
  encoding             Output message encoding name (e.g. windows-1252)   
or code page (e.g. 936)  
  -v                   Verbous mode  

note:  
You can specify namespace and type for schemas either using namespace.type notation in schema file reference or by using BizTalk project file.  

file name macros:  
  %MessageID%           Message identifier (Guid)  
  %MessagePartID%       Message part identifier (Guid)  
  %MessageNumber%       Message number  

Si vous souhaitez par exemple exécuter un pipeline de réception à partir du fichier ReceivePipeline.btp (qui comporte des composants Désassembleur XML et Valideur XML) à l'aide de mySchema.xsd et afficher les résultats dans la console, utilisez la commande suivante :

Pipeline.exe ReceivePipeline.btp –d file_in.xml –s MySchema.xsd:MyProject.MySchema -c  

- Ou -

Pipeline.exe ReceivePipeline.btp –d file_in.xml –s MySchema.xsd –proj MyProject.btproj -c  

Dans le premier exemple, un nom de type qualifié (MyProject.MySchema) pour le schéma est inclus en tant qu’argument de ligne de commande. Dans le deuxième exemple, le schéma est obtenu à partir du fichier de projet BizTalk spécifié.

Vous pouvez également exécuter des pipelines à partir des fichiers projet compilés BizTalk Server, comme dans l’exemple suivant (le pipeline est référencé par son nom de type qualifié d’assembly) :

Pipeline.exe -pt "TestBtsProject.ReceivePipeline, TestBtsProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e03965cb5971ad66" -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c  

Dans l'exemple suivant, un pipeline est référencé séparément par son nom de type et son nom de fichier d'assembly :

Pipeline.exe -pt TestBtsProject.ReceivePipeline –an TestBtsProject.dll -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c   

L'exemple suivant montre un pipeline référencé par son nom d'assemby :

Pipeline.exe -pt TestBtsProject.ReceivePipeline –an "TestBtsProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e03965cb5971ad66" -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c  

Pipeline.exe s'exécute avec les informations d'identification (quelles qu'elles soient) que vous avez utilisées pour le lancer. Il n’utilise pas le compte sous lequel s’exécutent BizTalk Server instances d’hôtes normales, de sorte que vous ne pourrez peut-être pas exécuter des pipelines qui contiennent des composants qui nécessitent un accès à la base de données. Veillez à exécuter Pipeline.exe sous un compte disposant de tous les privilèges requis.

N'utilisez Pipeline.exe que pour vérifier les pipelines personnalisés sans composants personnalisés tiers. Si vous vous en servez pour vérifier des pipelines personnalisés comportant des composants personnalisés tiers, il génèrera les résultats souhaités, mais si vous déployez le même pipeline personnalisé avec des composants personnalisés tiers, utilisez ce pipeline dans un port de réception ou d'envoi, puis employez Pipeline.exe pour lui envoyer un message. Le pipeline échouera et BizTalk Server retournera une erreur.

XMLAsm.exe

XMLAsm.exe (outil Assembleur XML) prend en charge les paramètres de ligne de commande suivants :

usage: xmlasm document...[-dm documentmask...] -ds documentSchema... [ -es envelopeSchema... ] [ -c ] [ -d ] [ -sd ] [ -m filenamemask ] [ -v ]  

where:  
  document           XML document(s)  
  documentMask       XML document(s) file mask, e.g., c:\\documents\\*.xml  
  documentSchema     XML document schema(s)  
  envelopeSchema     XML envelope schema(s)  
  -c                 Display assembled XML message on the console  
  -d                 Demote properties  
  -sd                Set document schema(s) as design-time property  
  -d                 Demote properties  
  -m                 Output file name mask (default is %MessageID%)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  

Par exemple, si vous souhaitez assembler deux documents XML d'entrée en un seul document XML avec une enveloppe, et afficher les résultats dans la console, utilisez la commande suivante :

FFAsm.exe file_in1.xml file_in2.xml–es myEnvelopeSchema.xsd –ds myBodySchema.xsd –c  

XMLDasm.exe

XMLDasm.exe prend en charge les paramètres de ligne de commande suivants :

usage: xmldasm document -ds documentSchema... [ -es envelopeSchema... ] [ -s ] [ -c ] [ -p ] [ -sd ] [ -se ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           XML document  
  documentSchema     XML document schema(s)  
  envelopeSchema     XML envelope schema(s)  
  -s                 Validate document structure  
  -c                 Display disassembled XML message on the console  
  -p                 Display promoted properties on the console  
  -sd                Set document schema(s) as design-time property  
  -se                Set envelope schema(s) as design-time property  
  -m                 Output file name mask (default is %MessageID%)  
  encoding           Input message body part encoding name (e.g., windows-1252) or code page (e.g., 936)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  
  %MessageNumber%    XML message number  

Par exemple, si vous souhaitez désassembler un document XML avec deux enveloppes imbriquées et afficher les résultats dans la console, utilisez la commande suivante :

XmlDasm.exe file_in.txt –ds myDocumentSchema.xsd –es myEnvelopeSchema1.xsd –es myEnvelopeSchema2.xsd –c  

Voir aussi

Utilitaires du SDK