Die Informationen in diesem Abschnitten unterstützen Sie bei der Verwendung von HTTP-Nachrichtenflüssen für die Interaktion mit Web-Services. Der folgende Abschnitt Web-Service-Szenarios erleichtert möglicherweise das Verständnis.
Sie können den Antwortstatus zwar auch im Spezialheader ('X-Original-HTTP-Status-Code' im Abschnitt 'HTTPReplyHeader' der Ausgabenachricht, wobei alle anderen Einstellungen überschrieben werden) in einem Rechenknoten festlegen. Es wird jedoch empfohlen, zu diesem Zweck den Inhalt von LocalEnvironment zu verwenden.
Wenn Sie beispielsweise ein Nachrichtenflusspaar entwerfen, das mit einer bestehenden WebSphere MQ-Anwendung interagiert (wie in Broker ruft bestehenden Web-Service auf beschrieben), können Sie diesen Wert im Anforderungsnachrichtenfluss speichern und ihn im Antwortnachrichtenfluss wiederherstellen, um sicherzustellen, dass die Antwort an den richtigen Client gesendet wird. In diesem Fall dürfen Sie die Daten nicht ändern und müssen die Daten als BLOB erhalten.
Der HTTPAntwortknoten extrahiert diesen Wert aus LocalEnvironment und erstellt die Antwort, so dass sie an den bestimmten Client gesendet wird.
Wenn Sie einen Nachrichtenfluss entwerfen, der sowohl einen HTTPEmpfangs- als auch HTTPAntwortknoten enthält, wird der Wert in LocalEnvironment vom HTTPEmpfangsknoten festgelegt, vom HTTPAntwortknoten jedoch nicht verwendet. Falls Ihr Nachrichtenfluss beide Knoten und einen Rechenknoten im selben Datenfluss enthält, müssen Sie deshalb die Baumstruktur 'LocalEnvironment' nicht einfügen, wenn Sie angeben, welche Komponenten der Nachrichtenbaumstruktur vom Rechenknoten aus der Eingabe- in die Ausgabenachricht kopiert werden (Eigenschaft Rechenmodus).
Sie können den Anforderungs-URL zwar auch im Spezialheader 'X-Original-HTTP-URL' im Abschnitt 'HTTPRequestHeader' der Anforderungsnachricht in einem Rechenknoten festlegen (wodurch alle anderen Einstellungen überschrieben werden). Es wird jedoch empfohlen, zu diesem Zweck den Inhalt von LocalEnvironment zu verwenden.
Der HTTPAntwortknoten schreibt den Header 'Content-Length' (Inhaltslänge) immer neu (auch wenn das Markierungsfeld HTTP-Standard-Header auf Basis von Eingabe oder Antwort generieren inaktiviert wurde), um sicherzustellen, dass dessen Inhalt korrekt ist.
Alle anderen Header werden aus 'HTTPResponseHeader' kopiert. Falls kein Header 'Content-Type' vorhanden ist, wird er mit dem Wert text/xml; charset=utf-8 hinzugefügt.
Wenn in der vom HTTPAntwortknoten empfangenen Nachricht ein Abschnitt 'HTTPReplyHeader' enthalten war und eine Verbindung mit dem Ausgabeterminal des HTTPAntwortknotens besteht, wird der Abschnitt 'HTTPReplyHeader' mit allen geänderten oder hinzugefügten Werten aktualisiert.
Der HTTPAnforderungsknoten überschreibt immer den Header 'Content-Length' (auch wenn das Markierungsfeld HTTP-Standard-Header auf Basis der Eingabe generieren inaktiviert wurde), um sicherzustellen, dass dessen Inhalt korrekt ist.
Alle Header werden aus 'HTTPInputHeader' kopiert:
Einige Header werden mit Standardwerten generiert, falls sie in den eingehenden HTTPRequest- oder HTTPInput-Headern nicht gefunden werden:
Jeder Header im Abschnitt 'HTTPRequestHeader' in der vom Knoten empfangenen Nachricht überschreibt den Header mit demselben Namen, der auch im Abschnitt 'HTTPInputHeader' in derselben Nachricht enthalten ist. Wenn die empfangene Nachricht den Abschnitt 'HTTPRequestHeader' enthält, wird der Abschnitt 'HTTPRequestHeader' mit allen geänderten oder hinzugefügten Werten aktualisiert.