Freigeben über


Schemaauflösungskomponente (BizTalk Server-Beispiel)

Im Beispiel schema resolver component (Schemarelöserkomponente) wird veranschaulicht, wie sie die Funktionalität der Komponente BizTalk Server-Disassembler für Flatfiles erweitern.

Die Flatfile-Disassemblerkomponente erfordert normalerweise, dass ein Analyseschema zur Entwurfszeit definiert wird. Wenn Sie den Empfang verschiedener Flatfile-Dokumente am gleichen Empfangsspeicherort erwarten, verwenden Sie daher normalerweise mehrere Flatfile-Disassembler in der Empfangspipeline - einen für jedes Schema. Zur Laufzeit wird dann die richtige Disassemblerkomponente mithilfe eines Pipelineprüfmechanismus ausgewählt. Diese Vorgehensweise ist jedoch kostenintensiv, wenn viele Flatfile-Schemas vorhanden sind, weil durch die Prüfung jeder zugehörigen Disassemblerkomponente die Pipelineleistung verschlechtert wird.

Ziel des Beispiels

Die Schemaauflösungskomponente zeigt eine andere Methode zum Auswählen des Schemas für einen Flatfile-Disassembler. In diesem Beispiel sind vier Schemas definiert, und die ersten beiden Zeichen einer Nachricht für jedes Schema sind eindeutig. Zwischen den eindeutigen ersten beiden Zeichen und dem entsprechenden Schema wird eine Zuordnung definiert. Wenn die Eingabenachricht an die Schemaauflösungskomponente übergeben wird, werden die ersten beiden Zeichen gelesen, das für das zugehörige Dokument zu verwendende Schema ermittelt und die Schemainformationen für den Nachrichtenkontext gespeichert. Dann wird die Flatfile-Standarddisassemblerkomponente aufgerufen. Die Flatfile-Standarddisassemblerkomponente liest die Schemainformationen aus dem Nachrichtenkontext und verwenden dann dieses Schema zum Analysieren des Dokuments.

Speicherort dieses Beispiels

<Samples Path>\Pipelines\SchemaResolverComponent\

In der folgenden Tabelle werden die in diesem Beispiel verwendeten Dateien und ihr Zweck beschrieben.

Datei(en) BESCHREIBUNG
SchemaResolverSample.sln Lösung für das BizTalk-Projekt, das die benutzerdefinierte Pipelinekomponente ausführt.
SchemaResolverSample.btproj Das BizTalk-Projekt, das die benutzerdefinierte Pipelinekomponente ausführt.
SchemaResolverRP.btp Die Empfangspipeline, die die benutzerdefinierte Komponente enthält.
PurchaseOrder.xsd, PurchaseRequest.xsd, SalesOrder.xsd, SalesRequest.xsd Die Flatfile-Schemas.
POInstance.txt, PRInstance.txt, SOInstance.txt, SRInstance.txt Die zugehörigen Flatfile-Dokumentinstanzen.
SchemaResolverFlatFileDasm.sln Die Lösung für die Implementierung der Pipelinekomponente.
SchemaResolverFlatFileDasm.csproj Das C#-Projekt für die Implementierung der Pipelinekomponente.
SchemaResolverFlatFileDasmComp.cs Die Implementierung der Pipelinekomponente.
SeekableReadOnlyStream.cs Die Implementierung des suchbaren schreibgeschützten Stream, der von der Komponente verwendet wird.
VirtualStream.cs Die Implementierung des virtuellen Streams, der von der Pipelinekomponente verwendet wird.

Erstellen und Initialisieren dieses Beispiels

Gehen Sie zum Erstellen und Initialisieren des Beispiels für die Schemaauflösungskomponente wie folgt vor.

So erstellen und initialisieren Sie dieses Beispiel

  1. Wechseln Sie in einem Befehlszeilenfenster das Verzeichnis (cd), um in den folgenden Ordner zu gelangen:

    <Samples Path>\Pipelines\SchemaResolverComponent

  2. Führen Sie die Datei "Setup.bat" aus, von der folgende Aktionen ausgeführt werden:

    • Erstellen der Komponente.

    • Kopieren der Komponentenassembly in den BizTalk-Komponentenordner \Pipeline.

    • Erstellen und Bereitstellen des BizTalk-Beispielprojekts.

    • Konfigurieren und Starten des Empfangsspeicherorts und des Sendeports.

    Hinweis

    Sie sollten sicherstellen, dass während des Erstellungs- und Initialisierungsprozesses keine Fehler gemeldet wurden, bevor Sie dieses Beispiel ausführen.

Ausführen dieses Beispiels

Gehen Sie zum Ausführen des Beispiels für die Schemaauflösungskomponente wie folgt vor.

So führen Sie dieses Beispiel aus

  1. Löschen Sie die dateien POInstance.txt, PRInstance.txt, SOInstance.txt und SRInstance.txt im Empfangsspeicherort <Installationspfad>\SDK\Samples\Pipelines\SchemaResolverComponent\In.

  2. Sehen Sie sich die vier .xml Dateien an, die in den <Ordner Installdir>\SDK\Samples\Pipelines\SchemaResolverComponent\Out geschrieben wurden.

Weitere Informationen

Pipelines (Ordner für BizTalk Server-Beispiele)