Pipelinetools

Mit den mit dem Microsoft BizTalk Server Software Development Kit (SDK) bereitgestellten Pipelinetools können Sie überprüfen, ob eine Pipeline ordnungsgemäß funktioniert, ohne die BizTalk Server Umgebung konfigurieren zu müssen, z. B. Sende-/Empfangsports. Außerdem stehen mit den Pipelinetools folgende Funktionen zur Verfügung:

  • Debuggen von Pipelinekomponenten von Drittanbietern außerhalb der Serverumgebung

  • Diagnostizieren von Fehlermeldungen der Analyse-Engine

  • Experimentieren mit verschiedenen Schemas, ohne dazu ständig kompilieren, bereitstellen, Bereitstellungen zurücknehmen und neu kompilieren zu müssen

  • Untersuchen des Verhaltens von Flatfile- und XML-Assemblern/Disassemblern

  • Anzeigen von Disassemblerausgaben und Ermitteln der höhergestuften Nachrichtenkontexteigenschaften sowie ihrer Werte

  • Ausführen von Sende-/Empfangspipelines ohne Disassembler- und Assemblerkomponenten (so können Sie beispielsweise die Ausgabe des S/MIME-Decoders anzeigen)

  • Durchführen präziser Leistungsmessungen nur bei der Pipeline (anstatt beim gesamten Messagingsubsystem)

Speicherort im SDK

<Installationspfad>\SDK\Utilities\PipelineTools

Pipelinetools werden zum Ausführen, Debuggen und für Testdurchläufe von Pipelines und Pipelinekomponenten (d. h. Flatfile- und XML-Assembler-/Disassemblerkomponenten) verwendet.

Dateibestand

In der folgenden Tabelle sind die Dateien der Pipelinetools mit einer kurzen Beschreibung ihrer Funktion aufgeführt.

Datei(en) BESCHREIBUNG
DSDump.exe Ermöglicht Ihnen, ein Speicherabbild der Dokumentschemastruktur anzufertigen. Dabei handelt es sich um eine vereinfachte Darstellung ein oder mehrerer XSD-Schemas mit oder ohne Flatfile-Anmerkungen. Dieses Tool kann nützlich sein, wenn Sie Fehlermeldungen der Analyse-Engine entschlüsseln möchten (z. B. $Root$0$3$2). Die Zahlen hinter dem $ sind ein 0-basierter Index oder Datensätze, wie sie im Dokumentschema angezeigt werden.
FFAsm.exe Führt die Flatfile-Assemblerkomponente aus, indem diese durch Emulieren einer Sendepipeline direkt aufgerufen wird, sodass Sie erkennen können, wie die Komponente XML-Dokumente des Benutzers in ein Flatfile-Dokument serialisiert oder assembliert.
FFDasm.exe Führt die Flatfile-Disassemblerkomponente aus, indem diese durch Emulieren einer Empfangspipeline direkt aufgerufen wird, sodass Sie erkennen können, wie durch die Komponente ein Flatfile-Dokument des Benutzers analysiert bzw. in mindestens ein XML-Dokument disassembliert wird.
Pipeline.exe Führt eine Sende- oder Empfangspipeline aus, nimmt ein oder mehrere Eingabedokumente mit ihren Bestandteilen, XSD-Schemas und zugehörigen Informationen an und erstellt nach Ausführung der Pipeline ein Ausgabedokument. Pipeline.exe greift nicht auf BizTalk Server Datenbanken zu, sodass Pipelines mit BizTalk Framework-Assembler- und Disassemblerkomponenten, die während der Ausführung auf BizTalk Server Datenbanken zugreifen, möglicherweise nicht unterstützt werden.
XMLAsm.exe Führt die XML-Assemblerkomponente aus, indem diese durch Emulieren einer Sendepipeline direkt aufgerufen wird, sodass Sie erkennen können, wie durch die Komponente die XML-Dokumente eines Benutzers in ein XML-Ausgabedokument serialisiert, assembliert oder entpackt werden.
XMLDasm.exe Führt die XML-Disassemblerkomponente aus, indem diese durch Emulieren einer Empfangspipeline direkt aufgerufen wird, sodass Sie erkennen können, wie durch die Komponente ein XML-Dokument des Benutzers analysiert und in mindestens ein XML-Dokument disassembliert oder entpackt wird.

Verbrauch

In den folgenden Abschnitten finden Sie eine ausführlichere Beschreibung der einzelnen Dateien.

DSDump.exe

Mit der Datei DSDump.exe können Sie ein Speicherabbild der Dokumentschemastruktur erstellen. Dabei handelt es sich um eine vereinfachte Darstellung ein oder mehrerer XSD-Schemas mit oder ohne Flatfile-Anmerkungen.

DSDump.exe (Tool zum Erstellen von Speicherabbildern von Dokumentschemas) unterstützt die folgenden Befehlszeilenparameter:

DSDump.exe schemaFileName  

Im Erfolgsfall gibt DSDump das Dokumentschema an die Konsole aus.

FFAsm.exe

FFAsm.exe (Flatfile-Assembler) unterstützt die folgenden Befehlszeilenparameter:

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)  

Wenn Sie beispielsweise drei XML-Eingabedokumente in ein einziges Flatfile-Dokument mit einem Header und einer Eigenschaftsherabstufung assemblieren möchten, müssen Sie den folgenden Befehl verwenden:

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

FFDasm.exe

FFDasm.exe (Flatfile-Disassembler) unterstützt die folgenden Befehlszeilenparameter:

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)  

Wenn Sie beispielsweise ein Flatfile-Dokument mit einem Header, Textteil und Nachspann disassemblieren und das Ergebnis in der Konsole anzeigen möchten, müssen Sie den folgenden Befehl verwenden:

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

Pipeline.exe

Pipeline.exe (das Pipelinetool) unterstützt die folgenden Befehlszeilenparameter:

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  

Wenn Sie beispielsweise eine Empfangspipeline (die XML-Disassembler- und XML-Bestätigungskomponenten enthält) aus der Datei "ReceivePipeline.btp" unter Verwendung des Schemas "mySchema.xsd" ausführen und das Ergebnis in der Konsole anzeigen möchten, müssen Sie den folgenden Befehl verwenden:

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

- Oder -

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

Im ersten Beispiel ist ein qualifizierter Typname (MyProject.MySchema) für das Schema als Befehlszeilenargument enthalten. Im zweiten Beispiel wird das Schema aus der BizTalk-Projektdatei abgerufen.

Sie können pipelines auch aus den kompilierten BizTalk Server Projektdateien ausführen, wie im folgenden Beispiel (auf die Pipeline wird durch ihren assemblyqualifizierten Typnamen verwiesen):

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  

Im folgenden Beispiel wird auf eine Pipeline separat über ihren Typnamen und über ihre Assemblydatei verwiesen:

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

Das folgende Beispiel zeigt eine Pipeline, auf die mittels ihres Assemblynamens verwiesen wird:

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 wird mit den Anmeldeinformationen ausgeführt, mit denen das Programm gestartet wurde. Es verwendet nicht das Konto, unter dem normale BizTalk Server Hostinstanzen ausgeführt werden, sodass Sie möglicherweise keine Pipelines ausführen können, die Komponenten enthalten, die Datenbankzugriff erfordern. Vergewissern Sie sich, dass Sie Pipeline.exe unter einem Konto ausführen, das über alle erforderlichen Berechtigungen verfügt.

Sie sollten Pipeline.exe nur zum Überprüfen benutzerdefinierter Pipelines verwenden, die keine benutzerdefinierten Komponenten von Drittanbietern enthalten. Wenn Sie mit Pipeline.exe eine benutzerdefinierte Pipeline überprüfen, die benutzerdefinierte Komponenten von Drittanbietern enthält, wird die gewünschte Ausgabe zwar generiert, wenn Sie jedoch diese Pipeline mit den benutzerdefinierten Komponenten von Drittanbietern bereitstellen, sie in einem Empfangs- oder Sendeport verwenden und dann mit Pipeline.exe eine Nachricht an die Pipeline übermitteln, kommt es in der Pipeline zu einem Fehler und von BizTalk Server wird ein Fehler zurückgeben.

XMLAsm.exe

XMLAsm.exe (XML Assembler-Tool) unterstützt die folgenden Befehlszeilenparameter:

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)  

Wenn Sie beispielsweise zwei XML-Eingabedokumente in ein einziges XML-Dokument mit einem Umschlag assemblieren und das Ergebnis in der Konsole anzeigen möchten, müssen Sie den folgenden Befehl verwenden:

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

XMLDasm.exe

XMLDasm.exe unterstützt die folgenden Befehlszeilenparameter:

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  

Wenn Sie beispielsweise ein XML-Dokument mit zwei geschachtelten Umschlägen disassemblieren und das Ergebnis in der Konsole anzeigen möchten, müssen Sie den folgenden Befehl verwenden:

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

Weitere Informationen

Dienstprogramme des SDK