Eine WebSphere MQ-fähige Anwendung, die einen Web-Service aufruft

In diesem Szenario wird eine Anwendung dargestellt, die WebSphere MQ verwendet und während der Verarbeitung einer Nachricht einen Web-Service aufruft. In diesem Beispiel wird die MIME-Domäne verwendet. Im Folgenden sind ein Nachrichtenfluss für dieses Szenario sowie die resultierenden Nachrichtenbaumstrukturen dargestellt.

In diesem Diagramm wird ein externer MQ-fähiger Client gezeigt, der Nachrichten an einen Nachrichtenfluss sendet bzw. von diesem empfängt. Der Nachrichtenfluss besteht aus einem MQEmpfangsknoten, der mit einem Rechenknoten namens 'Compute1' verbunden ist. Der Rechenknoten wird dann mit einem HTTPAnforderungsknoten verbunden. Der HTTPAnforderungsknoten gibt eine Anforderung an einen externen Web-Service aus und empfängt die Antwort. Anschließend wird die Nachricht an einen zweiten Rechenknoten namens 'Compute2' gesendet. Dann wird dieser Knoten mit einem MQSendeknoten verbunden, der wiederum eine Antwortnachricht an den MQ-Client zurücksendet.

Wenn eine MIME-Nachricht in den Nachrichtenfluss eintritt, werden der Inhaltstyp sowie sonstige MIME-Header der höchsten Ebene in der MIME-Baumstruktur gespeichert. Der Broker speichert auch eine Kopie des Inhaltstyps der Nachricht als Wert 'ContentType' in der Unterverzeichnisstruktur mit den Eigenschaften (Properties). Das folgende Diagramm zeigt einen Ausschnitt der Nachrichtenbaumstruktur, nachdem die Nachricht den MQEmpfangsknoten verlassen hat:

Das Diagramm zeigt die logische Nachrichtenbaumstruktur, nachdem die die Nachricht den MQEmpfangsknoten verlassen hat. Das Stammverzeichnis der Baumstruktur heißt 'Root' und verfügt über drei untergeordnete Einträge. Diese heißen der Reihe nach 'Properties', 'MQMD' und MIME.

Der erste Rechenknoten (Compute1) wird für die Einrichtung des HTTPRequestHeaders verwendet, falls dieser erforderlich ist. Mit dem ersten Rechenknoten (Compute1) können Sie auch eine neue MIME-Baumstruktur erstellen oder die bestehende MIME-Baumstruktur ändern, wenn von der zwischengeschalteten Anwendung, die den Web-Service bereitstellt, eine MIME-Nachricht gefordert wird.

Wenn der HTTPAnforderungsknoten eine Anforderungsnachricht ausgibt, entfernt er den MQMD-Header aus der Nachrichtenbaumstruktur. Wenn Sie die Informationen (beispielsweise MsgId) aus dem MQMD zur Verwendung in der Antwortnachricht an den MQ-Client speichern müssen, können Sie eine der folgenden Methoden verwenden:
  • Der erste Rechenknoten (Compute1) kann die erforderlichen Felder in der Umgebungsbaumstruktur speichern, damit der zweite Rechenknoten (Compute2) den MQMD erneut erstellen kann.
  • Der erste Rechenknoten (Compute1) speichert die erforderlichen Felder in der Baumstruktur 'OutputLocalEnvironment', damit der zweite Rechenknoten (Compute2) den MQMD erneut erstellen kann. Voraussetzung hierfür ist, dass Compute1 für die Weitergabe sowohl von 'Message' als auch von 'LocalEnvironment' konfiguriert sein muss.
  • Konfigurieren Sie den HTTPAnforderungsknoten so, dass die Eingabenachricht nicht durch die HTTP-Antwort ersetzt wird. Geben Sie stattdessen an, dass die Antwort als OutputRoot.MIME angehängt werden soll. Die ursprüngliche Eingabebaumstruktur und der MQMD sind dann nach wie vor verfügbar, 'Compute2' muss jedoch die Baumstruktur vor der Übergabe der Nachricht an den MQSendeknoten ändern. Es ist beispielsweise denkbar, dass Compute2 Teile der Baumstruktur wie beispielsweise HTTPRequestHeader und HTTPResponseHeader entfernen muss. Kopieren Sie in diesem Fall nur die Bereiche der Baumstruktur, die behalten werden sollen. Der folgende ESQL-Beispielcode veranschaulicht die entsprechende Vorgehensweise:
    SET OutputRoot.MQMD = InputRoot.MQMD;
    SET OutputRoot.MIME = InputRoot.MIME;

Über die Eigenschaften des HTTPAnforderungsknotens wird der Inhalt der Ausgabebaumstruktur gesteuert.

In den folgenden Diagrammen wird die Nachrichtenbaumstruktur vor und nach der Ausgabe eines Web-Service-Aufrufs im HTTPAnforderungsknoten angezeigt:

Das Diagramm zeigt die logische Nachrichtenbaumstruktur, wenn die Web-Service-Anforderung von HTTPAnforderungsknoten gesendet wird. Das Stammverzeichnis der Baumstruktur heißt 'Root' und verfügt über drei untergeordnete Einträge. Diese heißen der Reihe nach 'Properties', 'HTTPRequestHeader' und MIME.

Das Diagramm zeigt die logische Nachrichtenbaumstruktur, wenn die Nachricht aus der Web-Service-Anforderung an den HTTPAnforderungsknoten zurückgegeben wird. Das Stammverzeichnis der Baumstruktur heißt 'Root' und verfügt über vier untergeordnete Einträge. Diese heißen der Reihe nach 'Properties', 'HTTPRequestHeader', 'HTTPResponseHeader' und MIME.

Mit Hilfe von Compute2 wird bei Bedarf ein MQMD erstellt oder wiederhergestellt. Darüber hinaus kann mit ihm die Baumstruktur bereinigt werden, damit unnötige Header wie beispielsweise der HTTPResponseHeader entfernt werden.

Zugehörige Konzepte
Nachrichten in der MIME-Domäne bearbeiten
Details der MIME-Baumstruktur
MIME-Nachrichten
Zugehörige Tasks
ESQL erstellen
Java-Code entwickeln
Zugehörige Verweise
Web-Service mit HTTP als Transportmethode erstellen
Web-Service mit WebSphere MQ als Transportmethode erstellen
Auf eine WebSphere MQ-fähige Anwendung als Web-Service zugreifen
HTTPAntwortknoten (HTTPReply)
HTTPAnforderungsknoten (HTTPRequest)
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac30050_