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:
Wenn Sie die Testnachricht im Ordner \Message Enrichment\In ablegen, wird sie vom Empfangsport übernommen, verarbeitet und in der MessageBox abgelegt.
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.
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.
Die Orchestrierung schreibt beide Austauschheader und den Nachrichtentext in eine einzige neue Nachricht.
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.
Die Orchestrierung legt die neue Nachricht in der MessageBox ab.
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
Ö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))]
Speichern Sie die geänderte Datei AssemblyInfo.cs, und beenden Sie den Editor.
Wechseln Sie in einem Befehlsfenster zum folgenden Ordner:
\Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment
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
Kopieren Sie die Datei EDIFACT_examples.edi aus dem Ordner \MessageEnrichment\Instances in den Ordner \MessageEnrichment\In.
Überprüfen Sie, ob die Datei EDIFACT_examples.edi aus dem Ordner \MessageEnrichment\In entfernt wird und im Ordner \MessageEnrichment\Out erscheint.
Ö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.
Wiederholen Sie Schritt 1 und 2 mit der Datei X12_examples.edi aus dem Ordner \MessageEnrichment\Instances.
Ö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