Share via


Erweitern von Mapper (BizTalk Server-Beispiel)

Das Beispiel „Erweitern von Mapper“ demonstriert, wie BizTalk-Mapper verwendet und seine Funktionen erweitert werden. Das Beispiel enthält mehrere BizTalk Server Kartendateien (BTM), die jeweils verschiedene Features von BizTalk Mapper veranschaulichen.

Ziel des Beispiels

Das Beispiel „Erweitern von Mapper“ verwendet inhaltsbasiertes Routing, aber keine Orchestrierung. Durch Angabe eines Filters für den Sendeport des Beispiels wird dieser direkt mit dem Empfangsport des Beispiels verbunden. Für den Sendeport wird eine Zuordnung angegeben, die auf das verarbeitete Dokument angewendet werden soll.

Speicherort dieses Beispiels

<Beispielpfad>\XmlTools\ExtendingMapper

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

Datei(en) BESCHREIBUNG
MapperClassLibrary\AssemblyInfo.cs, MapperClassLibrary\MapperClassLibrary.csproj, MapperClassLibrary\MapperHelper.cs, MapperClassLibrary\MapperClassLibrary.sln Microsoft® Visual Studio-Projektdatei® und Visual C#-® Quelldateien.
Cleanup.bat Wird zum Aufheben der Bereitstellung von Assemblys und zum Entfernen aus dem globalen Assemblycache (GAC) verwendet.
Destination.xsd Die Schemadatei.
ExtendingMapper.btproj, ExtendingMapper.sln BizTalk-Projekt- und -Projektmappendateien für dieses Beispiel.
ExtendingMapper.xml Quell-XML.
ExtendingMapperBinding.xml Bindungs-XML-Datei
ExternalAssembly.xml Externe Assembly-XML-Datei.
OverridingMapXslt.btm Die Zuordnungsdatei.
OverridingMapXslt.xml XML-Datei zum Außerkraftsetzen einer Zuordnung.
OverridingMapXslt.xslt Stylesheet zum Außerkraftsetzen einer Zuordnung.
Scriptor_CallExternalAssembly.btm Beispielzuordnungsdatei.
Scriptor_GlobalVariableInInlineScript.btm Beispielzuordnungsdatei.
Scriptor_InlineScripts.btm Beispielzuordnungsdatei.
Scriptor_InlineXslt.btm Beispielzuordnungsdatei.
Scriptor_InlineXsltCallingExternalAssembly.btm Beispielzuordnungsdatei.
Scriptor_XsltCalltemplate.btm Beispielzuordnungsdatei.
Setup.bat Wird verwendet, um das Beispiel zu erstellen und zu initialisieren.
Source.xsd Die Schemadatei.

Erstellen und Initialisieren dieses Beispiels

Mithilfe des folgenden Verfahrens können Sie das Beispiel „Erweitern von Mapper“ erstellen und initialisieren.

So erstellen und initialisieren Sie dieses Beispiel

  1. Ändern Sie in einem Befehlsfenster das Verzeichnis (cd) in den folgenden Ordner:

    <Beispielpfad>\XmlTools\ExtendingMapper

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

    • Erstellen des Eingabeordners (\In) und des Ausgabeordners (\Out) für dieses Beispiel.

    • Kompilieren und Bereitstellen des Visual Studio-Projekts für dieses Beispiel.

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

      Wenn Sie eine der Zuordnungen Scriptor_CallExternalAssembly.btm oder Scriptor_InlineXsltCallingExternalAssembly.btm verwenden möchten, öffnen Sie ExtendingMapper.sln in Visual Studio und nehmen folgende Änderungen vor (wechseln Sie andernfalls zu Schritt 3):

    1. Öffnen Sie im Projektmappen-Explorer Scriptor_CallExternalAssembly.btm.

    2. Wählen Sie im Mapper-Raster das Skripterstellungsfunktoid aus.

    3. Wählen Sie im Eigenschaftenraster die Script-Eigenschaft aus, und klicken Sie auf die Schaltfläche mit den Auslassungspunkten (...), um das Funktoidskript zu konfigurieren.

    4. Wählen Sie im Dialogfeld Funktoid Skripterstellung konfigurieren die Option Skript-Funktoidkonfiguration aus, und geben Sie Folgendes an:

      Legen Sie dies fest. Zu diesem
      Skripttyp Externe Assembly
      Skriptassembly Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary
      Skriptklasse Microsoft.Samples.BizTalk.ExtendingMapper.MapperHelper
      Skriptmethode MyConcat
    5. Wählen Sie im VisualStudio-Menü Dateidie Option Speichern aus, um Änderungen an der Kartendatei zu speichern, und schließen Sie die Projektmappe.

  3. Drücken Sie eine beliebige Taste, um die Ausführung von Setup.bat fortzusetzen.

    Wichtig

    Wenn Sie Scriptor_InlineXsltCallingExternalAssembly.btm verwenden möchten, müssen Sie die Datei ExternalAssembly.xml bearbeiten. ExternalAssembly.xml wird von BizTalk verwendet, um einer .NET-Assembly einen als Mapper-Erweiterungsobjekt registrierten Namespace zuzuordnen. Da auf die abhängige Assembly mit ihrem vollqualifiziertem Namen verwiesen wird (einschließlich automatisch generiertem öffentlichem Schlüsseltoken), muss dieser Wert aktualisiert werden. Wenn Sie Scriptor_InlineXsltCallingExternalAssembly.btm nicht verwenden möchten, können Sie die Schritte a bis e auslassen.

  4. Navigieren Sie in Windows Explorer zu <Windows-Ordner>\assembly\.

    1. Klicken Sie mit der rechten Maustaste auf Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary , und wählen Sie Eigenschaften aus.

    2. Kopieren Sie den Wert des öffentlichen Schlüsseltokens.

    3. Öffnen Sie <in einem Text-Editor Beispielpfad>\XML Tools\ExtendingMapper\ExternalAssembly.xml.

    4. Wählen Sie das Attribut AssemblyName="Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=68496d20c737d84b"-Attribut aus, und ersetzen Sie den PublicKeyToken-Wert durch den Wert des öffentlichen Schlüsseltokens, den Sie in Schritt c kopiert haben.

    5. Speichern und schließen Sie ExternalAssembly.xml.

    Hinweis

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

So konfigurieren Sie den Sendeport, tragen ihn ein und starten ihn

  1. Klicken Sie auf Start, wählen Sie Alle Programme, Microsoft BizTalk Server und dann BizTalk Server Verwaltung aus.

  2. Klicken Sie in der BizTalk Server Verwaltungskonsole, um BizTalk Server Verwaltung zu erweitern, klicken Sie, um die BizTalk-Gruppe [<Servername>:<Verwaltungsdatenbank>] zu erweitern, und klicken Sie dann, um Anwendungen zu erweitern.

  3. Klicken Sie, um ErweiternMapperAnwendung zu erweitern, und klicken Sie dann auf Ports senden.

  4. Klicken Sie im rechten Bereich mit der rechten Maustaste auf Ports senden, und klicken Sie dann auf Eigenschaften.

  5. Klicken Sie im Dialogfeld ExtendingMapperSP – Porteigenschaften senden auf die Seite Ausgehende Zuordnungen .

    Wählen Sie in der Spalte Zuordnung die erforderliche Karte aus der Dropdownliste aus, und klicken Sie dann auf OK. Die Zuordnungen werden in der folgenden Tabelle erläutert.

    Zu übernehmende Zuordnung (Eigenschaft) BESCHREIBUNG
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_CallExternalAssembly Veranschaulicht, wie eine Funktion in einer externen .NET-Assembly aus einem Skriptfunktions-Funktoid in einer Zuordnung basierend auf den Eingabeparametern für dieses Funktoid aufgerufen wird. Dies hilft bei der sauberen Trennung der gesamten Verarbeitungslogik von der Zuordnungsdatei. Diese Zuordnungsdatei verwendet die Assembly MapperClassLibrary.dll, die im Lieferumfang dieses Beispiels enthalten ist.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineScripts Veranschaulicht, wie einfache Inlineskripts in Skript-Funktoiden in einer Zuordnungsdatei mit .NET-Sprachen wie C#, Visual Basic.NET und JScript.NET geschrieben werden.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_GlobalVariableInInlineScript Veranschaulicht, wie globale Variablen in den Inlineskripts von Skripts funktoids verwendet werden. Globale Variablen werden in der Regel verwendet, um Zustandsinformationen in einer Zuordnungsdatei über verschiedene Skript-Funktoide hinweg zu verwalten.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXslt Veranschaulicht, wie Struktur im Zieldokument mithilfe von roher Inline-XSLT innerhalb eines Skript-Funktoids in der Zuordnung erstellt wird. Sie können einige Teile des Zieldokuments mithilfe von Skript-Funktoiden mit Inline-XSLT erstellen, wenn dies in BizTalk Mapper mit anderen Funktoiden nicht möglich ist.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_XsltCalltemplate Veranschaulicht, wie Eine Struktur im Zieldokument mithilfe einer XSLT-Aufrufvorlage in einem Skriptfunktions-Funktoid in der Zuordnung erstellt wird. Der Vorteil einer XSLT-Aufrufvorlage gegenüber inline-XSLT besteht darin, dass die Aufrufvorlage Parameter akzeptieren kann, sodass Sie die Struktur basierend auf Eingabeparametern für das Funktoid Skripterstellung erstellen können. Sie können einige Teile des Zieldokuments mithilfe von Skript-Funktoiden mit Inline-XSLT erstellen, wenn dies in BizTalk Mapper mit anderen Funktoiden nicht möglich ist.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXsltCallingExternalAssembly Veranschaulicht das Aufrufen einer externen .NET-Assembly aus dem Inline-XSLT eines Skriptfunktions in einer Zuordnung. Erläutert, wie Sie die XML-Eigenschaft der benutzerdefinierten Erweiterung des BizTalk Mapper-Rasters mit der benutzerdefinierten Erweiterungsdatei ExternalAssembly_extxml.xml überschreiben können, die die Details der aufzurufenden externen .NET-Assembly enthält. Sie können einige Teile des Zieldokuments mithilfe von Skript-Funktoiden mit Inline-XSLT erstellen, wenn dies auf der Mapper-Benutzeroberfläche mit anderen Funktoiden nicht möglich ist.
    Microsoft.Samples.BizTalk.ExtendingMapper. OverridingMapXslt Demonstriert das vollständige Außerkraftsetzen des kompilierten XSLT der BizTalk-Mapper-Datei durch eine benutzerdefinierte XSLT-Datei. Dazu können Sie die Benutzerdefinierte XSL Path-Eigenschaftund optional die XML-Eigenschaft der benutzerdefinierten Erweiterung des BizTalk Mapper-Rasters überschreiben. Die von Ihnen bereitgestellte benutzerdefinierte XSLT-Datei ist in der kompilierten BizTalk Server Assembly des Projekts enthalten, das Sie zur Laufzeit verwenden möchten. In diesem Fall wird der Inhalt der Zuordnungsdatei (BTM) ignoriert. Diese Zuordnungsdatei verwendet OverridingMapXslt.xslt und OverridingMapXslt.xml für die XML-Eigenschaften Benutzerdefinierter XSL-Pfad bzw . benutzerdefinierte Erweiterung .

    Sie können eine Zuordnungsdatei im Projektmappen-Explorer überprüfen. Sie können sie dann als Vorlagendatei verwenden, die Sie bearbeiten und für die Benutzerdefinierte XSL Path-Eigenschaft des BizTalk Mapper-Rasters verwenden können. Sie können auf diese Option immer zurückgreifen, wenn es nicht möglich ist, diese XSLT mithilfe von BizTalk-Mapper zu erzeugen.

Ausführen dieses Beispiels

Führen Sie die folgenden Schritte aus, um das Beispiel „Erweitern von Mapper“ auszuführen.

So führen Sie dieses Beispiel aus

  1. Kopieren Sie die Eingabedatei ExtendingMapper.xml in den Eingabeordner unter <Samples Path>\XmlTools\ExtendingMapper\In.

  2. Beachten Sie, wie die Datei transformiert und an den <Ordner Samples Path>\XmlTools\ExtendingMapper\Out weitergeleitet wird. Die durchgeführte Transformation basiert auf der von Ihnen angewendeten Zuordnung.

Weitere Informationen

XML-Tools (Ordner für BizTalk Server-Beispiele)