Freigeben über


FlatFileSend (BizTalk Server-Beispiel)

Das FlatFileSend-Beispiel veranschaulicht, wie Sie BizTalk Server verwenden können, um eine XML-Datei in die entsprechende Flatfile zu verarbeiten.

Ziel des Beispiels

In diesem Beispiel wird der Ordner FFInput als Empfangsspeicherort konfiguriert. Wenn Sie eine Datei, z. B. die Beispieldatei FlatFileSend_in.xml, in diesem Ordner platzieren, verarbeitet BizTalk Server die Nachricht in dieser Datei mit den folgenden Schritten:

  1. BizTalk Server liest die Nachricht aus der Eingabedatei im Empfangsspeicherortordner FFInput.

  2. Die Nachricht wird durch eine XML-Empfangspipeline geleitet.

  3. In der MessageBox-Datenbank wird die Nachricht an einen FILE-Sendeport mit einer Sendepipeline weitergeleitet, die mit einer Flatfile-Assemblerkomponente konfiguriert ist. Die Flatfile-Assemblerkomponente konvertiert die XML-Nachricht anhand eines Flatfile-Schemas in eine entsprechende Flatfile-Darstellung.

  4. BizTalk Server schreibt die konvertierte Nachricht in eine Textdatei im Sendeadapterordner FFOutput.

Wie dieses Beispiel gestaltet ist und warum

Das grundlegende Design in diesem Beispiel hängt weitgehend von der Beispielnachricht ab. Flatfile-Nachrichten müssen mit dem Flatfile-Assembler und einem Flatfile-Schema innerhalb einer benutzerdefinierten Sendepipeline assembliert werden. Diese und weitere Entwurfselemente sind in der folgenden Tabelle zusammengefasst.

Entwurfselement Gründe für die Auswahl
Benutzerdefinierte Sendepipeline – Die benutzerdefinierte Pipeline verwendet den Flatfile-Assembler und ein Flatfileschema, um die instance Nachrichten in das Flatfileformat zu übersetzen. Der FlatFile Assembler ist selbst keine Pipeline und kann nicht beim Konfigurieren einer Sendepipeline in der BizTalk Server Verwaltungskonsole verwendet werden.
Flatfile-Schema - Definieren Sie alle dieselben Datensatz- und Feldmerkmale (einschließlich Struktur) als XML-Schema und bietet einen Mechanismus zum Definieren aller Flatfilemerkmale, die zum Übersetzen einer XML-instance Nachricht in eine Flatfilenachricht erforderlich sind (oder umgekehrt).
Abonnementfilter – Der Abonnementfilter führt das tatsächliche Routing durch Erfassen von Nachrichten aus, die ein oder mehrere Kriterien basierend auf Eigenschaftenfeldern erfüllen.
XMLReceive – Führt die Verarbeitung eingehender XML-Nachrichten durch. In diesem Beispiel wird eine XML-Darstellung einer Bestellung als Quellnachricht verwendet.

Diese Elemente werden zu einer Lösung zusammengestellt, die Bestellungsnachrichten im XML-Format vom Empfangsspeicherort annimmt und Bestellungen im Flatfile-Format an den Sendespeicherort sendet.

Speicherort dieses Beispiels

<Beispielpfad>\Pipelines\AssemblerDisassembler\FlatFileSend

In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.

Datei(en) BESCHREIBUNG
Cleanup.bat Wird verwendet, um die Bereitstellung von Assemblys aufzuheben und die Assemblys aus dem globalen Assemblycache zu entfernen. Entfernt Sende- und Empfangsports. Entfernt nach Bedarf virtuelle Verzeichnisse von Microsoft Internetinformationsdienste (IIS).
FlatFileSend.btproj, FlatFileSend.sln Projekt- und Projektmappendateien für dieses Beispiel.
FlatFileSendBinding.xml Wird für das automatisierte Setup verwendet, z. B. Portbindung.
FlatFileSend_in.xml Beispieleingabedatei
PO.xsd Schema für ausgehende Flatfile.
SendPipeline.btp BizTalk Server die Pipelinedatei mit der FlatFile Assembler-Komponente senden.
Setup.bat Dient zum Erstellen und Initialisieren dieses Beispiels.

Verwenden dieses Beispiels

Verwenden Sie dieses Beispiel als Grundlage für eigene Flatfile-Verarbeitungslösungen. Sie können viele der in diesem Beispiel verwendeten Entwurfselemente erweitern und an Ihre Anforderungen anpassen.

Erstellen und Initialisieren dieses Beispiels

  1. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Beispielpfad>\Pipelines\AssemblerDisassembler\FlatFileSend

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

    • Erstellen des Eingabe- (FFInput) und des Ausgabeordners (FFOutput) für dieses Beispiel im folgenden Ordner:

      <Beispielpfad>\Pipelines\AssemblerDisassembler\FlatFileSend

    • Kompiliert das Visual Studio-Projekt für dieses Beispiel.

    • Erstellen und Binden des BizTalk Server-Empfangsspeicherorts sowie der Sende- und Empfangsports.

      Hinweis

      In diesem Beispiel werden die folgenden Warnungen beim Erstellen und Binden der Ports angezeigt: Warning: Receive handler not specified for receive location "FlatFileSend_RL"; updating with first receive handler with matching transport type. Warning: Host not specified for orchestration "FlatFileSend"; updating with first available host. Sie können diese Warnungen sicher ignorieren. (Um möglichen Namensunterschieden in den Benutzerinstallationen Rechnung zu tragen, wurden der Hostname und der Empfangshandler in der Bindungsdatei ausgelassen.)

    • Aktiviert den Empfangsspeicherort und startet den Sendeport.

Hinweis

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

Hinweis

Wenn Sie das Projekt in diesem Beispiel öffnen und erstellen möchten, ohne die Datei Setup.bat auszuführen, müssen Sie zunächst mit dem entsprechenden .NET Framework-Hilfsprogramm (sn.exe) ein Schlüsselpaar für starke Namen erstellen. Verwenden Sie dieses Schlüsselpaar zum Signieren der sich ergebenden Assembly.

Hinweis

Wenn Sie von "Setup.bat" vorgenommene Änderungen rückgängig machen möchten, führen Sie "Cleanup.bat" aus. "Cleanup.bat" müssen Sie ausführen, bevor "Setup.bat" ein zweites Mal ausgeführt wird.

Ausführen dieses Beispiels

  1. Fügen Sie eine Kopie der Datei FlatFileSend_in.xml in den Ordner FFInput ein.

  2. Untersuchen Sie die im Ordner FFOutput erstellte Textdatei. Der Name der Textdatei basiert auf der Nachrichten-ID (GUID). Diese Datei enthält das Flatfile-Äquivalent der XML-Eingabedatei FlatFileSend_in.xml.

In diesem Beispiel verwendete Klassen oder Methoden

Die Konfigurationsskripts Setup.bat und Cleanup.bat stützen sich auf die folgenden administrativen Skripts der Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI):

  • Start Send Port\StartSendPort.vbs

  • Enable Receive Location\EnableRecLoc

  • Remove Send Port\RemoveSendPort

    Die Batchdateien für Setup und Cleanup verwenden BTSTask wie folgt:

  • BTSTask ImportBindings, um die Bindungsdatei anzuwenden und die Anwendung, Ports und Bindungen zu erstellen

  • BTSTask RemoveApp zum Entfernen der FlatFileSendApplication

Weitere Informationen