CBRSample (Inhaltsbasiertes Routing – BizTalk Server-Beispiel)
Das Beispiel für inhaltsbasiertes Routing (CBRSample) zeigt, wie Filter und eine ausgehende Zuordnung verwendet werden, um Instanznachrichten auf Grundlage des Inhalts zu transformieren und weiterzuleiten.
Ziel des Beispiels
Dieses Beispiel zeigt das Routing einer Nachricht, die Name, Adresse und Kontaktinformationen enthält, an einen von zwei Ordnern basierend auf der Landeskennzahl. Dieses Beispiel führt die folgenden Aufgaben aus:
Definiert ein Beispielnachrichtenformat, das grundlegende Informationen zu einer Person umfasst, einschließlich der Identität mit Benutzer-ID und vollständigem Namen, die Adresse mit Landeskennzahl und Informationen zum Telefonkontakt.
Erhöht die CountryCode-Eigenschaft im Eingabedokument, sodass sie in einem Portfilter zum Steuern der Transformation und des Routings verwendet werden kann.
Transformiert die Nachricht in eine kanadische Version, wenn CountryCode gleich 200 ist, oder eine US-Version, wenn CountryCodegleich 100 ist. Beide Transformationen durchlaufen alle Daten mit Ausnahme der mittleren Initiale (Initial). Die kanadische Version ordnet auch Bundesstaat zu Provinz und ZipCodepinCode zu.
Leitet amerikanische Nachrichten in das Verzeichnis US und kanadische Nachrichten in das Verzeichnis CAN weiter.
Wie dieses Beispiel gestaltet ist und warum
Der Entwurf basiert auf den standardmäßigen Senden- und Empfangen-XML-Pipelines, Eigenschaftenaufstufung, Abonnementfiltern und ausgehenden Zuordnungen in BizTalk Server, um Nachrichten weiterzuleiten. In der folgenden Tabelle sind die Entwurfselemente und deren jeweiliger Zweck angegeben.
Entwurfselement | Gründe für die Auswahl |
---|---|
Standardmäßige XML-Empfangspipeline | – Die XMLReceive-Pipeline unterstützt die Eigenschaftsaufstufung. die PassThruReceive-Pipeline nicht. - Die eingehende Nachricht ist bereits im XML-Format und erfordert keine Verarbeitung über die grundlegende Disassemblierung und Die Auflösung von Parteien hinaus. |
Eigenschaftsaufstufung | – BizTalk Server entfernt Eigenschaftenfelder, um das Routing zu erledigen. Gekennzeichnete Felder werden von Orchestrierungen verwendet und können nicht für das Routing verwendet werden. |
Abonnementfilter | – Der Abonnementfilter führt das tatsächliche Routing durch Erfassen von Nachrichten aus, die ein oder mehrere Kriterien basierend auf Eigenschaftenfeldern erfüllen. |
Ausgehende Zuordnung | – Ordnet datentransformation von einem Format in ein anderes zu. Im Beispiel wird eine eingehende Nachricht entweder einem amerikanischen oder kanadischen Format zugeordnet. |
XMLTransmit | – Führt eine grundlegende Assembly ausgehender XML-Nachrichten durch; Die PassThruTransmit-Pipeline bietet keine zusätzliche Unterstützung. |
Dieses Grundmuster kann erweitert und für komplexere Szenarien verwendet werden.
Speicherort dieses Beispiels
Dieses Beispiel befindet sich unter <Samples Path>
\Messaging\CBRSample\.
In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.
Datei(en) | Beschreibung |
---|---|
CBRDataCAN.Xml, CBRDataUS.Xml | Beispieleingabedateien, die dem in der Datei CBRInputSchema.xsd definierten Schema entsprechen. |
CBRInput2CANMap.btm, CBRInput2USMap.btm | Zuordnungsdateien für die Umwandlung in das kanadische bzw. amerikanische Format. |
CBRInputSchema.xsd, CBROutputSchemaCAN.xsd, CBROutputSchemaUS.xsd | Schemadateien für das Eingabeformat, das kanadische Ausgabeformat bzw. das amerikanische Ausgabeformat. |
CBRPromotedPropertySchema.xsd | Schemadatei für die heraufgestufte Eigenschaft, die dem CountryCode-Element in den XML-Eingabedateien entspricht. |
CBRSample.btproj, CBRSample.sln | BizTalk-Projekt- und -Projektmappendateien für dieses Beispiel. |
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 Internetinformationsdienste (Internet Information Services, IIS). |
Setup.bat | Dient zum Erstellen und Initialisieren dieses Beispiels. |
Verwenden dieses Beispiels
Verwenden Sie dieses Beispiel als ein Muster für die Aktionen, die zum Weiterleiten einer Nachricht auf Grundlage des Inhalts erforderlich sind.
Erstellen und Initialisieren dieses Beispiels
Zum Erstellen und Initialisieren des Beispiels für inhaltsbasiertes Routing (CBRSample) 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
Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:
<Samples Path>
\Messaging\CBRSampleFühren Sie Setup.bataus, der die folgenden Aktionen ausführt:
Erstellt die Eingabeordner (In) und Ausgabeordner (US und CAN) für dieses Beispiel.
Kompiliert und stellt das Microsoft Visual Studio-Projekt für dieses Beispiel bereit.
Erstellen und Binden des BizTalk Server-Empfangsspeicherorts sowie der Sende- und Empfangsports.
Hinweis
In diesem Beispiel wird beim Erstellen und Binden der Ports die folgende Warnung angezeigt:
Warnung: Der Empfangshandler wurde für den Empfangsspeicherort "CBRReceiveLocation" nicht angegeben; Wird mit dem ersten Empfangshandler mit dem übereinstimmenden Transporttyp aktualisiert.
Sie können diese Warnung problemlos ignorieren. (Um möglichen Namensunterschieden in den Benutzerinstallationen Rechnung zu tragen, wurden der Hostname und der Empfangshandler in der Bindungsdatei ausgelassen.)
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.
So bereiten Sie die Konfiguration des Empfangsports und Empfangsspeicherorts sowie der Sendeports vor
Wählen Sie in Microsoft SQL Management Studio die richtige BizTalk Management-Datenbank aus.
Hinweis
Die BizTalk Management-Datenbank wird auch als BizTalk-Konfigurationsdatenbank bezeichnet.
So konfigurieren Sie den Sendeport für die USA, tragen ihn ein und starten ihn
Erweitern Sie in der BizTalk Server Verwaltungskonsole Sendeports, klicken Sie mit der rechten Maustaste auf CBRUSSendPort, und klicken Sie dann auf Bearbeiten.
Wählen Sie im Dialogfeld Eigenschaften des statischen One-Way Sendeports in der Ordnerstruktur links neben dem Dialogfeld Die Option Filter & Zuordnung | Filtert, und fügen Sie dann eine neue Zeile hinzu, indem Sie Eigenschaft auf CBRSample.CountryCode festlegen, die Spalte Operator auf ==festlegen und die Spalte Wert auf 100 festlegen.
Wählen Sie in der Ordnerstruktur links neben dem Dialogfeld Die Option Filter & Zuordnung | Ausgehende Zuordnungen, legen Sie die Map to apply-Eigenschaft auf CBRSample.CBRInput2USMap fest, und klicken Sie dann auf OK. Sie müssen möglicherweise auf die Bildlaufschaltfläche klicken, um die Zuordnung in der Ansicht anzuzeigen.
So konfigurieren Sie den Sendeport für Kanada, tragen ihn ein und starten ihn
Erweitern Sie in der BizTalk Server Verwaltungskonsole Sendeports, klicken Sie mit der rechten Maustaste auf CBRCANSendPort, und klicken Sie dann auf Bearbeiten.
Wählen Sie im Dialogfeld Eigenschaften des statischen One-Way Sendeports in der Ordnerstruktur links neben dem Dialogfeld Die Option Filter & Zuordnung | Filtert, und fügen Sie dann eine neue Zeile hinzu, indem Sie Eigenschaft auf CBRSample.CountryCode festlegen, die Operatorspalte auf ==festlegen und die Spalte Wert auf 200 festlegen.
Wählen Sie in der Ordnerstruktur links neben dem Dialogfeld Die Option Filter & Zuordnung | Ausgehende Zuordnungen, legen Sie die Map to apply-Eigenschaft auf CBRSample.CBRInput2CANMap fest, und klicken Sie dann auf OK.
Mit diesen Schritten wird der Sendeport mit dem Empfangsport verbunden. Das Beispiel verwendet heraufgestufte Eigenschaften für das Routing der Dokumente.
BizTalk Server kann nun mit diesem Beispiel arbeiten.
Ausführen dieses Beispiels
Gehen Sie zum Ausführen des Beispiels für inhaltsbasiertes Routing (CBRSample) wie folgt vor.
So führen Sie dieses Beispiel aus
Kopieren Sie die Eingabedateien CBRDataCAN.xml und CBRDataUS.xmlin den folgenden Eingabeordner:
<Samples Path>
\Messaging\CBRSample\InBeobachten Sie, wie jede dieser Dateien transformiert und an einen der beiden folgenden Ausgabeordner weitergeleitet wird, basierend auf dem Wert ihres CountryCode-Elements (100 im Vergleich zu 200):
BizTalk Server transformiert und leitet die Eingabedatei CBRDataCAN.xml an den Ordner weiter:
<Samples Path>
\Messaging\CBRSample\CANBizTalk Server transformiert und leitet die Eingabedatei CBRDataUS.xml an den Ordner weiter:
<Samples Path>
\Messaging\CBRSample\US
In diesem Beispiel verwendete Klassen oder Methoden
Keine.
Weitere Informationen
Standardpipelines
Konfigurieren von ausgehenden Zuordnungen für einen Sendeport
Messaging (Ordner für BizTalk Server-Beispiele)