Mustercode 'Address Book' ausführen

Bei der Ausführung des Mustercodes 'Address Book' werden Nachrichten über den Nutzer-Nachrichtenfluss gesendet oder der Provider-Nachrichtenfluss wird direkt aufgerufen. Es werden zwei Testclients für die Ausführung des Mustercodes 'Address Book' bereitgestellt.

Stellen Sie vor der Ausführung des Mustercodes sicher, dass der Web-Service-Konsument richtig für den Provider konfiguriert ist und JNDI-verwaltete Objekte zur Ausführung von JMS-Nachrichtenflüssen konfiguriert sind. Siehe Mustercode 'Address Book' für die Verwendung von HTTP konfigurieren und Mustercode 'Address Book' für JMS-Transport konfigurieren.

Sollten bei der Ausführung des Mustercodes Probleme auftreten, lesen Sie den Abschnitt Probleme bei der Ausführung von Mustercodes beheben in der WebSphere Message Broker-Dokumentation.

Prüfen, ob der Provider über den richtigen Port für den Konsumenten verfügt

Mustercode ausführen

So rufen Sie den Nutzer-Nachrichtenfluss auf, der wiederum den Provider-Nachrichtenfluss aufruft:

  1. Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'AddressBook'.
  2. Erweitern Sie 'Flow Tests'. Klicken Sie doppelt auf AddressBookTests.mbtest, um die Datei im Testclient zu öffnen.
  3. Wählen Sie die erste Einreihung aus. Klicken Sie auf Nachricht senden.
  4. Wenn Sie den TCP/IP-Monitor nicht aktiviert haben, können Sie diesen Schritt überspringen. Falls der TCP/IP-Monitor jedoch konfiguriert und gestartet wurde, wird er jetzt eingeblendet und zeigt die SOAP-Nachricht an, die zwischen dem Provider- und Nutzer-Nachrichtenfluss übertragen wurde.

    Wenn der Monitor nicht angezeigt wird, können Sie ihn an dieser Stelle zu Ihrer Workbench hinzufügen: Klicken Sie auf Fenster > Ansicht anzeigen > Sonstige > Debug > TCP/IP Monitor.

    Ü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.

  5. Wählen Sie die erste Entfernung aus der Warteschlange aus. Klicken Sie auf Nachricht abrufen. Sie können nun sowohl die HTTP-Antwort vom SOAPRequest-Knoten als auch die XML-Nachricht sehen. Es wird folgende Antwort angezeigt:
    <SOAP_Domain_Msg>
    	<Body>
    	<NS2:SaveAddressResponse xmlns:NS2="http://addressbook.com/">true<NS2:SaveAddressResponse>
    	<Body>
    	<SOAP_Domain_Msg>
    
  6. Wählen Sie die zweite Einreihung aus und klicken Sie auf Nachricht senden.
  7. Wenn Sie den TCP/IP-Monitor nicht aktiviert haben, können Sie diesen Schritt überspringen. Überprüfen Sie andernfalls den TCP/IP Monitor, um sicherzustellen, dass die SOAP-Nachricht übertragen wurde.
  8. Wählen Sie die zweite Entfernung aus der Warteschlange aus und klicken Sie auf Nachricht abrufen. Sie können nun die HTTP-Antwort vom SOAPRequest-Knoten und die XML-Nachricht sehen. Sie erhalten die folgende Antwort:
    <SOAP_Domain_Msg>
    	<Body>
    	<NS2:Address xmlns:NS2="http://addressbook.com/">
    	<NS2:City>Carlisle</NS2:City>
    	<NS2:Street>Welton</NS2:Street>
    	<NS2:Province>Cumbria</NS2:Province>
    	<NS2:PostalCode>NE2 3HP</NS2:PostalCode>
    	<NS2:PhoneNumber>
    	<NS2:Area>1</NS2:Area>
    	<NS2:Prefix>2</NS2:Prefix>
    	<NS2:Local>3</NS2:Local>
    	</NS2:PhoneNumber>
    	</NS2:Address>
    	<Body>
    	<SOAP_Domain_Msg>
    

So rufen Sie den Provider-Nachrichtenfluss im Falle von SOAP über HTTP direkt auf:

  1. Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'AddressBook'.
  2. Erweitern Sie 'Flow Tests'. Klicken Sie doppelt auf AddressBookProviderTest.mbtest, um die Datei im Testclient zu öffnen.
  3. Klicken Sie auf Nachricht senden.
  4. Wählen Sie im Einsatzpositionsfenster die Ausführungsgruppe 'AddressSampleProvider' aus. Klicken Sie auf Fertigstellen. Der Nachrichtenfluss wird in der ausgewählten Ausführungsgruppe implementiert und die Testnachricht gesendet. Beim Empfang der Antwort erhalten Sie folgende Ausgabe:

    Ein Diagramm mit dem Inhalt des ersten Nachrichtenflusses.

  5. Bevor Sie den Fluss erneut aufrufen, um die Adresse zu suchen, die Sie gerade gespeichert haben, müssen Sie verhindern, dass der Testclient den Fluss erneut implementiert. Bei einer erneuten Implementierung des Nachrichtenflusses werden alle Daten in der gemeinsamen ESQL-Variablen gelöscht, die vom Adressbuch verwendet wird. Um zu verhindern, dass der Testclient den Fluss erneut implementiert, müssen Sie die Registerkarte Konfiguration des Testclients auswählen; wählen Sie im linken Teilfenster Implementierung aus. Wählen Sie die Option Das angegebene Brokerarchiv wird vom Benutzer manuell implementiert aus. Geben Sie den Namen der BAR-Datei ein und speichern Sie Ihre Änderungen. Rufen Sie wieder die Registerkarte Ereignisse auf.
  6. Wählen Sie die zweite Instanz von Nachrichtenfluss aufrufen aus und klicken Sie auf Nachricht senden. Falls erforderlich, wählen Sie die Ausführungsgruppe 'AddressSampleProvider' aus. Klicken Sie auf Fertigstellen.
  7. Vergleichen Sie die Antworten mit der Ausgabe des Nutzers. Beim Empfang der Antwort erhalten Sie folgende Ausgabe:

    Ein Diagramm mit dem Inhalt des zweiten Nachrichtenflusses.

Nachdem Sie diesen Mustercode ausgeführt haben und zuvor den TCP/IP-Monitor aktiviert und den Nachrichtenfluss geändert hatten, müssen Sie den TCP/IP-Monitor jetzt entfernen und die Nachrichtenflussänderung rückgängig machen.

  1. Klicken Sie in der Workbench auf Fenster > Einstellungen > Run/Debug (Ausführen/Debug) > TCP/IP Monitor.
  2. Markieren Sie Ihren TCP/IP-Monitor und klicken Sie auf Entfernen und anschließend auf OK.
  3. Sie haben 'AddressBookConsumerFlow' aktualisiert, damit er mit dem TCP/IP-Monitor interagiert. Je nachdem, was Sie jetzt tun wollen, können Sie den geänderten Nachrichtenfluss beibehalten oder die Änderung rückgängig machen. Wenn Sie die Änderung rückgängig machen möchten, gehen Sie genauso vor wie zuvor, aber setzen Sie den HTTP-Port in beiden SOAPRequest-Knoten von 5555 zurück auf 7800 und führen Sie eine Neuerstellung und erneute Implementierung durch.

Zurück zum Beginn des Mustercodes