Freigeben über


Beispiel „Message Enrichment“ (BizTalk Server-Beispiel)

Im Beispiel „Message Enrichment“ wird veranschaulicht, wie Austauschheader (Interchange Header) an Transaktionssätze (Nachrichten) für X12- und EDIFACT-Dokumente angehängt werden.

Ziel des Beispiels

In diesem Beispiel wird das Anhängen von UNA-, UNB- und UNG-Headern (EDIFACT) sowie ISA-Headern (X12) an Transaktionssätze veranschaulicht. Dieses Beispiel führt die folgenden Aufgaben aus:

  1. Wenn Sie die Testnachricht im Ordner \Message Enrichment\In ablegen, wird sie vom Empfangsport übernommen, verarbeitet und in der MessageBox abgelegt.

  2. MessageEnrichmentOrchestration übernimmt die Testnachricht aus der MessageBox, denn diese Orchestrierung abonniert Nachrichten auf der Grundlage eines Filterausdrucks, der für die Form Empfangen der Orchestrierung festgelegt ist.

  3. Die Orchestrierung liest die Austauschheader aus den Kontexteigenschaften der Nachricht.

    Hinweis

    UNA- und UNG-Header sind in EDIFACT-Nachrichten optional und daher in den Kontexteigenschaften der Nachricht möglicherweise nicht enthalten.

  4. Die Orchestrierung schreibt beide Austauschheader und den Nachrichtentext in eine einzige neue Nachricht.

  5. Die Orchestrierung stuft weitere Eigenschaften herauf, die im Korrelationstyp ReceivePortNameCorrelationType für die Nachricht festgelegt sind. So können Benutzer der Orchestrierung eine Liste der Nachrichten auswählen, die sie für ihr Abonnement benötigen. Diese Eigenschaften werden in eine Form des Typs Nachricht erstellen geschrieben. Nicht alle in die ursprüngliche Nachricht geschriebenen Kontexteigenschaften werden in die neue Nachricht geschrieben.

  6. Die Orchestrierung legt die neue Nachricht in der MessageBox ab.

  7. Die neue Nachricht wird vom Sendeport übernommen und über den FILE-Adapter an den Ordner \Message Enrichment\Out gesendet.

Speicherort dieses Beispiels

Dieses Beispiel befindet sich im BizTalk Server Installationsordner: \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment.

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

Datei(en) BESCHREIBUNG
Cleanup.bat Dient dazu, die Bereitstellung des Beispielszenarios zurückzunehmen. Dieser Vorgang kann nur erfolgreich ausgeführt werden, wenn keine aktiven Instanzen der Orchestrierung vorhanden sind. Andernfalls schlägt der Vorgang fehl.
MessageEnrichment.sln Enthält die Projekte MessageEnrichment und MessageEnrichmentLibrary.
Setup.bat Dient zum Bereitstellen eines Beispielszenarios, das aus einem Empfangsport, einem Sendeport und einer Orchestrierung besteht.
EDIFACT_example.edi Eine EDIFACT-Eingabenachricht.
X12_example.edi Eine X12-Eingabenachricht.
MessageEnrichment.btproj Das Projekt mit den MessageEnrichment-Orchestrierungen und -Schemas.
MessageEnrichmentBindings.xml Die Datei mit den Bindungen für die Orchestrierung, die Ports und die Parteien.
MessageEnrichmentOrchestration.odx Die Orchestrierung, mit der die Header an die Nachricht angehängt werden.
MessageEnrichmentOrchestration.odx.cs Der Orchestrierungscode, mit dem die Header an die Nachricht angehängt werden.
EFACT_D98B_APERAK.xsd Das EDIFACT-Schema für die Eingabenachricht.
Enriched_EFACT_D98B_APERAK.xsd Das EDIFACT-Schema für die Ausgabenachricht.
X12_00401_864.xsd Das X12-Schema für die Eingabenachricht.
Enriched_X12_00401_864.xsd Das X12-Schema für die Ausgabenachricht.
Headers.xsd Die Schemas für die den Eingabenachrichten hinzugefügten Header.
MessageEnrichmentLibrary.csproj Das Projekt mit den Dateien Headers.cs, OrchestrationUtilities.cs und ParseHeaders.cs.
Headers.cs Enthält Klassen, die Headerdaten darstellen.
OrchestrationUtilities.cs Enthält Hilfsprogrammmethoden, die von der Orchestrierung verwendet werden.
ParseHeaders.cs Enthält die UNA-Standardwerte für die neuen Nachrichten. Diese Werte werden aus der SerializeEDIFACTHeaders-Methode in ParseHeaders.cs entnommen.

Verwenden dieses Beispiels

Verwenden Sie dieses Beispiel als ein lauffähiges Beispiel für die Aktionen, die erforderlich sind, um Austauschheader an EDI-Transaktionssätze (Nachrichten) anzuhängen.

Erstellen und Initialisieren dieses Beispiels

Zum Erstellen und Initialisieren des Beispiels „Message Enrichment“ müssen Sie das BizTalk-Projekt für dieses Beispiel erstellen und bereitstellen, den Empfangsport und den Empfangsspeicherort sowie zwei verschiedene Sendeports konfigurieren.

So erstellen Sie das BizTalk-Projekt für dieses Beispiel und stellen es bereit

  1. Öffnen Sie mit Notepad.Exe \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\MessageEnrichment\
    MessageEnrichment\properties\AssemblyInfo.cs, und fügen Sie unten in der Datei die folgende Zeile hinzu:

    [assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssembly(typeof(Microsoft.BizTalk.XLANGs.BTXEngine.BTXService))]  
    
  2. Speichern Sie die geänderte Datei AssemblyInfo.cs, und beenden Sie den Editor.

  3. Wechseln Sie in einem Befehlsfenster zum folgenden Ordner:

    \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment

  4. Führen Sie Setup.bataus, der die folgenden Aktionen ausführt:

    • Erstellt die Ordner empfangen (in) und senden (out) für dieses Beispiel im Ordner \MessageEnrichment.

    • Schreiben eines Schlüsselpaars in MessageEnrichmentLibrary\testkey.snk

    • Erstellen und Bereitstellen des Projekts MessageEnrichmentLibrary.btproj

    • Erstellen und Bereitstellen des Projekts MessageEnrichment.btproj

    • Lesen der Bindungsinformationen in MessageEnrichmentBindings.xml

      Hinweis

      Für die Bindung bei diesem Projekt muss der BizTalk-Host als Vertrauenswürdige Authentifizierung gekennzeichnet sein. Damit dieses Projekt mit einem nicht vertrauenswürdigen Host verwendet werden kann, ändern Sie in der Datei MessageEnrichmentBindings.xml die Einträge HostTrusted=”true” in HostTrusted=”false”.

    • Aktualisieren der Orchestrierungsbindungen

    • Aktualisieren der Sendeports, der Sendeportgruppen und der Empfangsports

    • Aktualisieren der Parteien und Eintragungen

    • Startet den Sendeport.

    • Aktiviert den Empfangsspeicherort.

    • Eintragen und Starten der Orchestrierung

    BizTalk Server kann nun mit diesem Beispiel arbeiten.

Ausführen dieses Beispiels

Gehen Sie zum Ausführen des Beispiels „Message Enrichment“ wie folgt vor.

So führen Sie dieses Beispiel aus

  1. Kopieren Sie die Datei EDIFACT_examples.edi aus dem Ordner \MessageEnrichment\Instances in den Ordner \MessageEnrichment\In.

  2. Überprüfen Sie, ob die Datei EDIFACT_examples.edi aus dem Ordner \MessageEnrichment\In entfernt wird und im Ordner \MessageEnrichment\Out erscheint.

  3. Öffnen Sie die Datei im Ordner \MessageEnrichment\Out. Überprüfen Sie, ob sich im Ordner \MessageEnrichment\Instances eine XML-Darstellung der Datei EDIFACT_examples.edi befindet. Der Inhalt dieser Datei muss mit dem der Datei EDIFACT_examples.edi identisch sein, jedoch muss die Ausgabedatei die EDIFACT-Header UNA, UNB und UNG aufweisen.

  4. Wiederholen Sie Schritt 1 und 2 mit der Datei X12_examples.edi aus dem Ordner \MessageEnrichment\Instances.

  5. Öffnen Sie die neue Datei im Ordner \MessageEnrichment\Out. Überprüfen Sie, ob sich im Ordner \MessageEnrichment\Instances eine XML-Darstellung der Datei X12_examples.edi befindet. Der Inhalt dieser Datei muss mit dem der Datei X12_examples.edi identisch sein, jedoch muss die Ausgabedatei X12-Header des Typs ISA aufweisen.

In diesem Beispiel verwendete Klassen oder Methoden

Keine

Weitere Informationen

EDI und AS2 (Ordner für BizTalk Server-Beispiele)