Freigeben über


AS2 über Datei (BizTalk Server-Beispiel)

Das Beispiel für „AS2 über Datei“ veranschaulicht, wie eine AS2-Nachricht über einen Dateiempfangsspeicherort empfangen wird. Dadurch können Sie einen Dateiadapter anstelle eines normalerweise verwendeten HTTP-Adapters zum Empfangen der AS2-Nachricht verwenden. Diese Lösung schreibt dazu die HTTP-Header in der AS2-Nachricht in die InboundHTTPHeaders-Kontexteigenschaft, wie für den AS2-Decoder erforderlich.

Ziel des Beispiels

Dieses Beispiel veranschaulicht, wie die HTTP-Header in einer AS2-Nachricht ohne HTTP-Adapter verarbeitet wird. Dieses Beispiel führt die folgenden Aufgaben aus:

  1. Wenn Sie die Testnachricht in einem Eingabeordner ablegen, wird diese vom Dateiempfangsspeicherort aufgenommen.

  2. Die benutzerdefinierte Pipelinekomponente in der benutzerdefinierten AS2-Empfangspipeline verarbeitet die Nachricht, wobei sie die HTTP-Header in die InboundHTTPHeaders-Kontexteigenschaft schreibt.

    Hinweis

    Wenn bei der Verarbeitung der Nachricht unterhalb der benutzerdefinierten Pipelinekomponente ein Fehler auftritt, können Probleme beim Fortsetzen der Verarbeitung der Nachricht auftreten, da diese bereits in die XML-Codierung konvertiert wurde.

  3. Der AS2-Decoder in der benutzerdefinierten Empfangspipeline verarbeitet die Nachricht, wobei dazu die Eigenschaften in der InboundHTTPHeaders-Kontexteigenschaft gelesen werden.

  4. Ein Sendeport abonniert die von der Empfangspipeline generierte XML-Nachricht, übergibt diese dann über eine Pass-Through-Sendepipeline und legt sie anschließend in einem Ausgabeordner ab.

Speicherort dieses Beispiels

Dieses Beispiel befindet sich im BizTalk Server Installationsordner: \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2\AS2 Über Datei.

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

Datei(en) BESCHREIBUNG
AS2OverFile.csproj Das Projekt, das den benutzerdefinierten Pipelinekomponentencode enthält.
AS2OverFile.sln Die Projektmappe, die das Projekt AS2OverFile.btproj enthält.
Program.cs Enthält Klassen, die Headerdaten darstellen.
SampleMessage.txt Die Beispielnachricht, die HTTP-Header enthält.

Implementieren und Ausführen dieses Beispiels

Zum Implementieren des Beispiels „AS2 über Datei“ müssen Sie die folgenden Schritte durchführen:

  • Erstellen und Bereitstellen des BizTalk-Projekts für dieses Beispiel, Erstellen der benutzerdefinierten Pipelinekomponente

  • Erstellen einer benutzerdefinierten Pipeline mithilfe der benutzerdefinierten Pipelinekomponente sowie Erstellen und Bereitstellen eines Projekts mit dieser benutzerdefinierten Pipeline

  • Erstellen von Eingabe- und Ausgabedateiordnern

  • Konfigurieren eines Empfangsports und -speicherorts und Aktivieren des Empfangsspeicherorts

  • Konfigurieren eines Sendeports und Starten des Sendeports

  • Erstellen einer Partei zum Senden der Beispielnachricht

So erstellen Sie eine benutzerdefinierte Pipeline mit der Pipelinekomponente des Emulators für „AS2 über Datei“

  1. Öffnen Sie in Visual Studio das PROJEKT AS2OverFile im Ordner \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2\AS2 Over File.

  2. Erstellen Sie eine Schlüsseldatei mit starkem Namen, öffnen Sie das Dialogfeld Eigenschaften für das Projekt AS2OverFile, und ordnen Sie dann die Schlüsseldatei dem Projekt zu.

  3. Erstellen Sie das Projekt.

  4. Erstellen Sie in Visual Studio ein neues BizTalk-Projekt mit dem Namen AS2OverFile_Pipeline.

  5. Klicken Sie mit der rechten Maustaste auf das projekt AS2OverFile_Pipeline, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element.

  6. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Pipelinedateien im linken Bereich aus, wählen Sie im rechten Bereich Pipeline empfangen aus, benennen Sie die Pipeline AS2OverFile_Receive.btp, und klicken Sie dann auf Hinzufügen.

  7. Klicken Sie in der Menüleiste auf Ansicht , und klicken Sie dann auf Toolbox , um die Toolbox anzuzeigen.

  8. Klicken Sie in der Toolbox mit der rechten Maustaste auf BizTalk-Pipelinekomponenten, und klicken Sie dann auf Elemente auswählen.

  9. Klicken Sie im Dialogfeld Toolboxelemente auswählen auf die Registerkarte BizTalk-Pipelinekomponenten . Klicken Sie auf AS2 über Dateiemulator, und klicken Sie dann auf OK.

  10. Fügen Sie die AS2OverFile.dll-Datei zum globalen Assemblycache hinzu, indem Sie eine Visual Studio-Eingabeaufforderung öffnen und den Befehl gacutil /if "<file name and path>" auf der Microsoft.BizTalk.Sdk.Components.AS2OverFile.dll im Ordner \AS2 Over File\obj\Debug ausführen.

  11. Ziehen Sie in Visual Studio die Pipelinekomponente AS2 über Dateiemulator aus der Toolbox in die Decodierungsphase der benutzerdefinierten Pipeline.

  12. Ziehen Sie die AS2-Decoderkomponente in die Decodierungsphase der benutzerdefinierten Pipeline nach der Komponente AS2 over File.

    Hinweis

    Wenn Sie eine MDN generieren möchten, fügen Sie einen AS2-Disassembler in die Phase Disassemblieren der benutzerdefinierten Pipeline hinzu. Wenn Sie keine MDN zurückgeben, ist der AS2-Disassembler nicht erforderlich.

  13. Erstellen Sie eine Schlüsseldatei mit starkem Namen, öffnen Sie das Dialogfeld Eigenschaften für das Projekt AS2OverFile_Pipeline, und ordnen Sie dann die Schlüsseldatei dem Projekt zu.

  14. Erstellen Sie die benutzerdefinierte Pipeline, und stellen Sie diese dann bereit.

  15. Fügen Sie in der BizTalk Server Verwaltungskonsole die benutzerdefinierte Pipeline zum Knoten Pipelines hinzu, indem Sie auf den Knoten Pipelines klicken und dann auf Aktualisieren klicken.

So implementieren Sie die Projektmappe für dieses Beispiel

  1. Erstellen Sie in Windows Explorer im Ordner \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2\AS2 Über Datei einen Eingabeordner In und einen Ausgabeordner Out.

  2. Erstellen Sie in der BizTalk Server Verwaltungskonsole einen unidirektionalen Empfangsport mit dem Namen AS2OverFile_Receive. Erstellen Sie im Empfangsport einen Empfangsspeicherort mit den folgenden Eigenschaften:

    Eigenschaft Einstellung
    Name AS2OverFile_Receive
    Typ DATEI
    Empfangsordner \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 Über Datei/In
    Dateimaske *.txt
    Empfangspipeline AS2OverFile
  3. Klicken Sie im Knoten Empfangsorte mit der rechten Maustaste auf den AS2OverFile_Receive Empfangsspeicherort, und klicken Sie dann auf Aktivieren.

  4. Erstellen Sie im Knoten Sendeports einen statischen unidirektionalen Sendeport mit den folgenden Eigenschaften:

    Eigenschaft Einstellung
    Name AS2OverFile_Send
    Typ DATEI
    Empfangsordner \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 Über Datei/Out
    Dateimaske %MessageID%.xml
    Sendepipeline Passthru
    Filter BTS.REceivePortName == AS2OverFile_Receive
  5. Klicken Sie im Knoten Sendeports mit der rechten Maustaste auf den AS2OverFile_Send Sendeport, und klicken Sie dann auf Start.

  6. Erstellen Sie im Knoten Parteien eine Partei namens „Partner“. Fügen Sie der Liste Aliase einen Alias mit dem NamenEDIINT-AS2 From Value, einen Qualifizierer von AS2-From und einen Wert von Partner hinzu.

    BizTalk Server ist jetzt bereit, mit diesem Beispiel zu arbeiten.

Ausführen dieses Beispiels

Gehen Sie zum Ausführen des Beispiels „AS2 über Datei“ wie folgt vor:

So führen Sie dieses Beispiel aus

  1. Kopieren Sie die SampleMessage.txt Datei aus dem Ordner \Programme (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2\AS2 Over File in den Ordner \AS2 Over File\In.

  2. Überprüfen Sie, ob eine XML-Ausgabenachricht im Ausgabeordner \AS2 Over File\Out abgelegt wurde.

  3. Öffnen Sie die Eingabenachricht SampleMessage.txt in einem Text-Editor, und öffnen Sie die GUID> der Ausgabenachricht <.xml in einem Text-Editor. Überprüfen Sie, ob die Eingabenachricht SampleMessage.txt über HTTP-Header (und AS2) verfügt und ob die Ausgabenachricht keine HTTP-Header besitzt.

In diesem Beispiel verwendete Klassen oder Methoden

Keine

Weitere Informationen

EDI und AS2 (Ordner für BizTalk Server-Beispiele)
Senden einer AS2-Nachricht über einen Dateisendeport