Freigeben über


Senden und Empfangen von ASPX-Seiten

Die ASPX-Seiten von Microsoft BizTalk Accelerator for RosettaNet (BTARN) sind die direkten Schnittstellen zwischen BTARN und dem Internet. Die beiden ASPX-Seiten sind die Empfangsseite (RNIFReceive.aspx) und die Sendeseite (RNIFSend.aspx). Jede ASPX-Seite ist eine Erweiterung der entsprechenden BTARN-Pipeline. Die Pipeline erfordert die ASPX-Seite, um RNIF-Header (RosettaNet Implementation Framework) zu verarbeiten. Die Pipeline führt den größten Teil der HTTP-Verarbeitung aus. Jede ASPX-Seite führt jedoch die HTTP-Verarbeitung der RNIF-Header durch. Die Seiten erweitern die Funktionalität im BizTalk Server HTTP-Adapter.

Jede ASPX-Seite ist eine ASP.NET Webanwendung ohne Benutzeroberfläche. Sie verwenden ASP.NET Websicherheit, um eine sichere Verbindung mit externen Parteien sicherzustellen. Sie bieten eine Ebene, auf der Sie Fehlertoleranz, Skalierbarkeit und hochverfügbare Dienste implementieren können.

Das BTARN-Setup installiert eine RNIFSend.aspx-Seite und eine RNIFReceive.aspx-Seite in jeder Bereitstellung von BTARN. Wenn der Initiator oder Responder Nachrichten mit dem Handelspartner austauscht, verwendet BTARN die ASPX-Seiten, um Nachrichten an die Partner-URL zu senden oder von ihnen zu empfangen. Wenn sowohl der Initiator als auch der Responder BTARN verwenden, tauschen die beiden ASPX-Seiten auf dem Initiator Nachrichten mit den beiden ASPX-Seiten auf dem Responder aus. Weitere Informationen finden Sie weiter unten im Unterabschnitt "Wie Initiator- und Responder-ASPX-Seiten interagieren".

Aspx-Seite senden

Die Seite RNIFSend.aspx empfängt eine Nachricht vom BizTalk-HTTP-Adapter. Es erstellt und fügt der Nachricht RNIF-Header hinzu und sendet die Nachricht dann über das Internet an den Partner. Der HTTP-Adapter ruft RNIFSend.aspx mit dem folgenden Befehl auf:

http://localhost:<port number>/RNIFSend.aspx?<query string>  

Die Abfragezeichenfolge enthält die folgenden Daten, die die Sendeseite benötigt, um die Nachricht an den Partner zu senden, und die Daten, die der Partner zum Verarbeiten der Nachricht benötigen muss:

  • Die Handelspartner-URL: http://www.<address.com>/RNIFReceive.aspx

  • Der Antworttyp: sync oder async

  • Die RNIF-Version: 1.1 oder 2.0.

    Der BizTalk-HTTP-Adapter sendet eine mime-Nachricht, die von der BTARN-Sendepipeline erzeugt wird, an die Initiatorseite RNIFSend.aspx. RNIFSend.aspx verarbeitet die Nachricht wie folgt:

  1. Die Seite "Senden" führt eine Überprüfung für die Nachricht durch.

  2. Die Seite "Senden" erstellt einen MIME-Header (Multipurpose Internet Mail Extensions) basierend auf dem Inhaltstyp, der Länge, der ID und der MIME-Version. Sie fügt der Nachricht den MIME-Header sowie die oberen und unteren MIME-Grenzen hinzu.

  3. Für RNIF 2.01 legt die Seite senden die Eigenschaften des HTTP-Headers wie folgt fest:

    1. Die X-RN-Version-Eigenschaft wird auf die Version festgelegt, die in der Version-Eigenschaft der Prozesskonfigurationseinstellungen eingegeben wurde.

    2. Die X-RN-ResponseType-Eigenschaft wird abhängig von der Einstellung der IsSynchronous-Eigenschaft in den Prozesskonfigurationseinstellungen entweder auf Synchronisierung oder asynchron festgelegt.

    3. Die Content-Length-Eigenschaft wird auf die Größe der vollständigen Nachricht festgelegt.

  4. Mithilfe eines HTTP-Beitrags sendet die Sendeseite die Nachricht an die Ziel-URL des Partners, wie in den Einstellungen Aktions-URL oder Signal-URL im Handelspartnervertrag festgelegt.

  5. Die Seite "Senden" wartet auf die HTTP-Antwort. Wenn die Antwort empfangen wird, wird sie an den HTTP-Adapter weitergeleitet.

  6. Wenn die Verbindung asynchron ist, schließt die Sendeseite die Verbindung, und die Verarbeitung ist abgeschlossen.

  7. Wenn die Verbindung synchron ist, hält die Sendeseite die Verbindung für eine zurückgegebene Nachricht geöffnet. Nachdem die Nachricht empfangen wurde, führt sie die gleiche Verarbeitung wie eine RNIFReceive.aspx-Seite für eine empfangene Nachricht aus, sendet die empfangene Nachricht an den HTTP-Adapter und schließt dann die Verbindung.

Aspx-Seite empfangen

Die Seite RNIFReceive.aspx empfängt eine HTTP-Nachricht vom Partner über das Internet. Es verarbeitet, überprüft und entfernt dann die RNIF-Header und übermittelt die Nachricht an den HTTP-Adapter. Die von der Empfangsseite empfangene Nachricht muss RNIF-HTTP-transport-konform sein. Die Empfangsseite verarbeitet Nachrichten wie folgt:

  1. Die Antwortseite RNIFReceive.aspx empfängt die Nachricht vom Initiator. Die Nachricht enthält den MIME-Header und die oberen und unteren Grenzen.

  2. Die Empfangsseite überprüft den MIME-Header.

  3. Die Empfangsseite entfernt den MIME-Header und die Begrenzungen aus der Nachricht.

  4. Die Empfangsseite sendet die Nachricht mithilfe des HTTP-Empfangsspeicherorts an den HTTP-Adapter. Die Empfangsseite empfängt eine HTTP-Antwort und gibt die HTTP-Antwort an die Sendeseite des Initiators zurück.

  5. Wenn die Verbindung asynchron ist, schließt die Empfangsseite die Verbindung.

  6. Wenn die Verbindung synchron ist, hält die Empfangsseite die Verbindung geöffnet und wartet auf eine zurückgegebene Nachricht.

  7. Nachdem die zurückgegebene Nachricht vom HTTP-Adapter empfangen wurde, führt die Empfangsseite die gleiche Verarbeitung wie eine RNIFSend.aspx-Seite aus und sendet die zurückgegebene Nachricht an die Initiator-Sendeseite. Nachdem die HTTP-Antwort empfangen wurde, wird die Verbindung geschlossen.

So interagieren Initiator- und Responder-ASPX-Seiten

Wenn sowohl der Initiator als auch der Responder BTARN verwenden, interagieren die vier ASPX-Seiten auf initiator und responder unterschiedlich, je nachdem, ob die Verbindungen asynchron oder synchron sind und ob es sich bei den Nachrichten um eine Einzelaktion oder eine doppelte Aktion handelt. In den folgenden Unterabschnitten wird der vollständige Satz von Interaktionen beschrieben.

Asynchrone Doppelaktion

Dieses Szenario umfasst vier separate HTTP-Verbindungen, eine für jeden Schritt:

  1. Die Seite zum Senden des Initiators sendet die Aktionsanforderungsnachricht an die Empfangsseite des Antwortenden.

    Hinweis

    Die schritte 2 und 3 unten können je nach Systemlast in umgekehrter Reihenfolge auftreten.

  2. Die Sendeseite des Antworters sendet eine Anforderungssignalnachricht an die Initiator-Empfangsseite.

  3. Die Seite "Responder Send" sendet eine Aktionsantwortnachricht an die Empfangsseite des Initiators.

  4. Die Sendeseite des Initiators sendet eine Antwortsignalnachricht an die Empfangsseite des Antwortenden.

    Asynchrone Einzelaktion

    Dieses Szenario umfasst zwei separate HTTP-Verbindungen, eine für jeden Schritt. Beachten Sie, dass dieses Szenario aus den Schritten 1 und 2 des asynchronen Szenarios mit doppelten Aktionen besteht.

  5. Die Seite zum Senden des Initiators sendet die Aktionsanforderungsnachricht an die Empfangsseite des Antwortenden.

  6. Die Sendeseite des Antworters sendet eine Anforderungssignalnachricht an die Initiator-Empfangsseite.

    Synchrone Doppelaktion

    Dieses Szenario umfasst eine HTTP-Verbindung:

  7. Die Seite zum Senden des Initiators sendet die Aktionsanforderungsnachricht an die Empfangsseite des Antwortenden.

  8. Die Antwortseite des Antwortgebers sendet eine Aktionsantwortnachricht (oder eine Ausnahme, wenn ein Problem vorliegt) an die Initiator-Sendeseite auf der gleichen Verbindung, die in Schritt 1 verwendet wurde.

    Synchrone Einzelaktion

    Dieses Szenario umfasst eine HTTP-Verbindung:

  9. Die Seite zum Senden des Initiators sendet die Aktionsanforderungsnachricht an die Empfangsseite des Antwortenden.

  10. Die Empfangsseite des Antwortenden sendet eine Anforderungssignalnachricht (oder eine Ausnahme, wenn ein Problem vorliegt) an die Initiator-Sendeseite auf derselben Verbindung.

Weitere Informationen

Nachrichtenverarbeitung in BTARN
BTARN-Empfangspipeline
BTARN-Sendepipeline