MethodCall (BizTalk Server-Beispiel)
Anhand des „MethodCall“-Beispiels wird veranschaulicht, wie eine .NET-basierte Methode aus einer BizTalk Server-Orchestrierung heraus aufgerufen wird.
Ziel des Beispiels
Dieses Beispiel interagiert mit einer .NET-basierten Methode mithilfe der folgenden Abfolge von Schritten:
Die BizTalk Server Orchestrierung ruft eine XML-Eingabedatei aus dem Ordner In ab. Diese Datei enthält Informationen zu einer Addition oder Subtraktion, die von der Mathematikbibliothek für Sie ausgeführt werden soll.
Die Orchestrierung ruft die enthaltene Mathematikbibliothek auf, damit diese die in der XML-Eingabedatei angegebene Addition oder Subtraktion ausführt.
Die entsprechende mathematische Bibliotheksmethode, entweder Add oder Subtrahieren, führt die angeforderte Berechnung aus und packt das Ergebnis als XML-Dokument.
Die Orchestrierung speichert die XML-Ergebnisdatei im Ausgabeordner Out.
Wie dieses Beispiel entworfen wird und warum
Mit diesem Beispiel werden die folgenden Funktionalitäten veranschaulicht:
Nutzen der höher gestuften Eigenschaften in einer Orchestrierung. Die drei Elemente in InputSchema.xsd werden als gekennzeichnete Felder höher gestuft. Wenn die Orchestrierung die Eingabenachricht erhält, ruft sie die Werte dieser drei Felder ab und weist sie den entsprechenden, in der Orchestrierung deklarierten Variablen zu.
Verwenden der Form "Entscheiden ", um "if-then-else"-Logik in einer Orchestrierung auszudrücken. Nachdem die Orchestrierung interne Variablen die Werte von Distinguished Fields zugewiesen hat, wechselt sie in die Form Entscheiden , um zu überprüfen, ob eine Addition oder Subtraktion ausgeführt werden soll. Muss keine Operation ausgeführt werden, wird die Orchestrierung beendet.
Aufrufen einer externen Assembly aus einer Orchestrierung. Wenn eine Addition ausgeführt werden muss, ruft die Orchestrierung eine externe C#-Assembly auf und übergibt an diese zwei Parameter für die Ausführung der Addition. Dieselben Verfahren gelten für eine Subtraktion.
Hinweis
Sie müssen die Assembly im globalen Assemblycache installieren, damit Sie sie aus der Orchestrierung aufrufen können. Andernfalls tritt zur Laufzeit ein XLANG-Fehler auf.
Verwenden der Form "Nachrichtenzuweisung " zum Erstellen der Ausgabenachricht.
Debuggen der Orchestrierung durch Eingabe des folgenden Codes in die „Ausdruck“-Form:
System.Diagnostics.Debug.WriteLine(iResult);
Sie können das Ergebnis auch mit folgendem Code in das Ereignisprotokoll schreiben:
System.Diagnostics.EventLog.WriteEntry("MethodCall SDK Sample Debug", System.String.Format("Result = {0}", iResult);
Speicherort dieses Beispiels
<Beispielpfad>\Orchestrierungen\MethodCall\
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). |
Input.xml | Beispieleingabedatei |
Setup.bat | Dient zum Erstellen und Initialisieren dieses Beispiels. |
Im Ordner \MathLibrary: AssemblyInfo.cs, MathHelper.cs, MathLibrary.csproj |
Projekt- und Projektmappendateien für die in diesem Beispiel verwendete Mathematikbibliothek. |
Im Ordner \MethodCallSample: InputSchema.xsd, OutputSchema.xsd |
Schemas für die XML-Eingabe- und -Ausgabedateien. |
Im Ordner \MethodCallSample: MethodCallSample.btproj, MethodCallSample.sln |
Projekt- und Projektmappendateien für dieses Beispiel. |
Im Ordner \MethodCallSample: MethodCallSampleBinding.xml |
Wird für das automatisierte Setup verwendet, z. B. Portbindung. |
Im Ordner \MethodCallSample: MethodCallService.odx |
BizTalk Server Orchestrierung, die die mathematische Bibliothek aufruft, um die angeforderte Berechnung auszuführen. |
Erstellen und Initialisieren dieses Beispiels
So erstellen und initialisieren Sie das „MethodCall“-Beispiel
Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:
<Beispielpfad>\Orchestrierungen\MethodCall
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 im Ordner MethodCall.
Kompiliert die Visual Studio-Projekte für dieses Beispiel und stellt die resultierenden Assemblys bereit.
Erstellt und bindet den BizTalk Server Empfangsspeicherort sowie die Sende- und Empfangsports an die Orchestrierung.
Aktiviert den Empfangsspeicherort und startet den Sendeport. Führt die Orchestrierung ein und startet sie.
Hinweis
Sie sollten sicherstellen, dass von BizTalk Server während des Erstellungs- und Initialisierungsprozesses keine Fehler gemeldet wurden, bevor Sie dieses Beispiel ausführen.
Ausführen dieses Beispiels
So führen Sie das „MethodCall“-Beispiel aus
Fügen Sie eine Kopie der Datei Input.xml in den Eingabeordner In ein.
Sehen Sie sich die im Ordner Out erstellte XML-Datei an. Diese Datei enthält das Ergebnis der angeforderten Additions- oder Subtraktionsberechnung. Das Format des Namens dieser Datei ist <MessageID>.xml, wobei <MessageID> die GUID ist, die generiert wird, um die Nachricht eindeutig zu identifizieren.
Sie können die Eingabedatei so ändern, dass verschiedene Additions- oder Subtraktionsberechnungen angefordert werden.
Deinstallieren dieses Beispiels
So deinstallieren Sie das „MethodCall“-Beispiel
Ändern Sie an einer Visual Studio-Eingabeaufforderung das Verzeichnis (cd) in <Samples Path>\Orchestrations\MethodCall\.
Führen Sie die Datei Cleanup.bat aus.