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)
<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.
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. |
In den folgenden Abschnitten finden Sie eine ausführlichere Beschreibung der einzelnen Dateien.
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 (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 (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 (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 (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 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