Mustercode 'Address Book' mit WS-ReliableMessaging ausführen
Es kann vorkommen, dass SOAP-Anforderungen oder -Antworten aufgrund eines Netz- oder Serverausfalls nicht an einen Web-Service zugestellt werden können. Bei 'Web Services Reliable Messaging' (WS-RM) handelt es sich um eine Spezifikation, die zwei SOAP-basierten Systemen eine zuverlässige Nachrichtenübertragung untereinander ermöglicht.
Das WS-RM-Protokoll definiert, wie Nachrichten erneut gesendet werden, falls festgestellt wird, dass sie nicht erfolgreich zugestellt wurden. Außerdem verhindert es, dass doppelte Nachrichten an die Zielanwendung zugestellt werden.
An dieser Stelle wird veranschaulicht, wie mit WS-RM auf zuverlässige Weise SOAP/HTTP-Nachrichten zugestellt werden können, indem zur Simulierung eines Netzausfalls ein TCP/IP-Kanal gestoppt und gestartet wird. Selbst bei diesem Netzaufalls werden alle SOAP/HTTP-Anforderungen und -Antworten erfolgreich zugestellt.
- Richten Sie den TCP/IP-Monitor wie im Abschnitt TCP/IP-Monitor konfigurieren ein, um den Netzausfall zu simulieren.
- Befolgen Sie die Anweisungen im Abschnitt Mustercode 'Address Book' für die Verwendung von HTTP konfigurieren.
- Die folgenden Anweisungen veranschaulichen, dass bei einem Netzausfall eine Ausnahmebedingung ausgelöst wird, wenn die Nutzer- und Providerflüsse nicht für die Verwendung von WS-RM konfiguriert sind:
- Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'AddressBook'.
- Erweitern Sie 'Flusstests'. Klicken Sie doppelt auf AddressBookTests.mbtest, um die Datei im Testclient zu öffnen.
- Wählen Sie die erste Einreihung aus. Klicken Sie auf Nachricht senden.
- Der TCP/IP-Monitor zeigt die SOAP-Nachricht an, die zwischen dem Provider- und Nutzerfluss übertragen wurde.
Überprüfen Sie den Inhalt der eingehenden und ausgehenden SOAP-Nachrichten. Wenn die Nachricht lesbarer sein soll, verwenden Sie das Menü im TCP/IP Monitor, um das Format von Byte in XML zu ändern.
- Wählen Sie die erste Entfernung aus der Warteschlange aus. Klicken Sie auf Nachricht abrufen.
Sie können sowohl die HTTP-Antwort vom SOAPRequest-Knoten als auch die XML-Nachricht sehen.
- Stoppen Sie den TCP/IP-Monitor. Klicken Sie mit der rechten Maustaste auf die TCP/IP-Monitor-Ansicht und wählen Sie Eigenschaften aus.
Wählen Sie den TCP/IP Monitor aus, den Sie gerade erstellt haben, und klicken Sie auf Stoppen.
- Öffnen Sie AddressBookTests.mbtest. Wählen Sie die erste Einreihung aus.
Klicken Sie auf Nachricht senden.
- Starten Sie den TCP/IP-Monitor erneut. Klicken Sie mit der rechten Maustaste auf die TCP/IP-Monitor-Ansicht und wählen Sie Eigenschaften aus.
Wählen Sie den TCP/IP Monitor aus, den Sie gerade gestoppt haben, und klicken Sie auf Starten.
- Die Anforderung ist fehlgeschlagen. Wählen Sie die dritte Einreihung aus und klicken Sie auf Nachricht abrufen, um die Fehlernachricht anzuzeigen. Überprüfen Sie das Ereignisprotokoll auf weitere Informationen.
- Die folgenden Anweisungen veranschaulichen, dass SOAP/HTTP-Nachrichten auch bei einem Netzausfall zuverlässig zugestellt werden, wenn die Nutzer- und Providerflüsse für die Verwendung von WS-RM konfiguriert sind:
- Erweitern Sie den Mustercode, um die Nachrichtenflüsse für die Verwendung von WS-RM zu konfigurieren. Sie müssen die Nachrichtenflüsse dem Standardrichtliniensatz zuordnen. Führen Sie dazu die im Abschnitt BAR-Dateien konfigurieren und implementieren beschriebenen Schritte aus.
- Nach der Implementierung der Nachrichtenflüsse werden die Nachrichten an den Nutzerfluss gesendet.
- Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'AddressBook'.
- Erweitern Sie 'Flusstests'. Klicken Sie doppelt auf AddressBookTests.mbtest, um die Datei im Testclient zu öffnen.
- Wählen Sie die erste Einreihung aus. Klicken Sie auf Nachricht senden.
- Überprüfen Sie den TCP/IP-Monitor. Sie werden die WS-RM-Verbindungsprotokollnachrichten sehen, die zwischen den Nutzer- und Providerflüssen hin- und hergesendet werden.
Überprüfen Sie den Inhalt der eingehenden und ausgehenden SOAP-Nachrichten. Wenn die Nachricht lesbarer sein soll, verwenden Sie das Menü im TCP/IP Monitor, um das Format von Byte in XML zu ändern.
- Wählen Sie die erste Entfernung aus der Warteschlange aus. Klicken Sie auf Nachricht abrufen.
Sie können sowohl die HTTP-Antwort vom SOAPRequest-Knoten als auch die XML-Nachricht sehen.
- Stoppen Sie den TCP/IP-Monitor. Klicken Sie mit der rechten Maustaste auf die TCP/IP-Monitor-Ansicht und wählen Sie Eigenschaften aus.
Wählen Sie den TCP/IP Monitor aus, den Sie gerade erstellt haben, und klicken Sie auf Stoppen.
- Öffnen Sie AddressBookTests.mbtest. Wählen Sie die erste Einreihung aus.
Klicken Sie auf Nachricht senden.
- Starten Sie den TCP/IP-Monitor jetzt erneut. Klicken Sie mit der rechten Maustaste auf die TCP/IP-Monitor-Ansicht und wählen Sie Eigenschaften aus.
Wählen Sie den TCP/IP Monitor aus, den Sie gerade gestoppt haben, und klicken Sie auf Starten.
- Die Anforderung wurde verarbeitet. Überprüfen Sie den TCP/IP-Monitor. Sie werden die WS-RM-Verbindungsprotokollnachrichten sehen, die zwischen den Nutzer- und Providerflüssen hin- und hergesendet werden.
- Wählen Sie die zweite Entfernung aus Warteschlange aus und klicken Sie auf Nachricht abrufen, um die Nachricht anzuzeigen.
- Sie haben den Mustercode 'Address Book' für die Verwendung von WS-ReliableMessaging erweitert.
Zurück zur Erweiterung des Mustercodes 'Address Book'
Zurück zum Beginn des
Mustercodes