WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Nachrichtenflüsse für die Verarbeitung von Zeitlimits konfigurieren

Verbinden Sie das HTTPTimeout-Terminal von HTTPInput- oder SOAPInput-Knoten mit anderen Knoten, damit die Zeitlimits verarbeitet werden können.

Bevor Sie beginnen:

Sie können Nachrichtenflüsse, die mit einem HTTPInput- oder SOAPInput-Knoten beginnen, so konfigurieren, dass das HTTPTimeout-Terminal zur Verarbeitung der Zeitlimits mit anderen Knoten verbunden wird:

Falls diese Bedingungen bei der Implementierung der BAR-Datei für den Nachrichtenfluss nicht erfüllt sind, wird eine Warnung generiert und der Pfad des Nachrichtenflusses, den Sie mit dem HTTPTimeout-Terminal verbunden haben, wird ignoriert. Bis zum nächsten Neustart werden keine weiteren Warnungen generiert.

So legen Sie in einem Empfangsknoten einen statischen Zeitlimitwert fest:

  1. Erstellen Sie einen Nachrichtenfluss oder öffnen Sie einen bestehenden Nachrichtenfluss.
  2. Wählen Sie im Nachrichtenflusseditor den Empfangsknoten für den Nachrichtenfluss aus. Die Knoteneigenschaften werden in der Ansicht 'Eigenschaften' (unter dem Editorfenster) angezeigt.
  3. Legen Sie in der Eigenschaft Maximale Client-Wartezeit eine geeignete Zeit für das Zeitlimitintervall fest. Der Standardwert für das Intervall beträgt 180 Sekunden.

    Wenn diese Zeit abläuft und das HTTPTimeout-Terminal mit keinem Knoten verbunden ist, antwortet das Empfangsprogramm, das die Anforderungsnachricht vom Client erhalten hat, mit einer SOAP-Fehlernachricht, die auf eine Zeitlimitüberschreitung hinweist.

  4. Wenn Sie eine angepasste Zeitlimitverarbeitung bereitstellen möchten, verbinden Sie einen oder mehrere Knoten mit dem HTTPTimeout-Terminal. In diese Folge müssen Sie den Antwortknoten einschließen, der dem Empfangsknoten entspricht. Deshalb müssen Sie einen HTTPReply-Knoten einschließen, wenn Ihr Nachrichtenfluss mit einem HTTPInput-Knoten beginnt. Wenn er mit einem SOAPInput-Knoten beginnt, müssen Sie einen SOAPReply-Knoten einschließen.

So legen Sie in einem Empfangsknoten einen dynamischen Zeitlimitwert fest:

Sie können den Wert, durch den Sie den vorhandenen Wert ersetzen, auf verschiedene Weise ableiten, z. B. wie folgt:
  • Erstellen Sie einen konfigurierbaren Service des Typs 'UserDefined', um einen Zeitlimitwert zu definieren, und rufen Sie die entsprechende Eigenschaft ab.
  • Lesen Sie einen Satz aus einer Datenbank ein.
  • Verwenden Sie einen Wert aus einem Feld des Nachrichtenhauptteils.

Durch Weiterleitung vom HTTPTimeout-Terminal können Sie dann den Inhalt der Antworten ändern, die Ihr Nachrichtenfluss an den Client sendet. Die Verarbeitung durch die Folge der Knoten, die Sie mit dem HTTPTimeout-Terminal verbinden, unterliegt einem weiteren Zeitlimit, sodass der Client immer eine Antwort innerhalb eines bekannten Zeitlimitintervalls erhält.

Wenn eine Nachricht vom HTTPTimeout-Terminal weitergeleitet wird, enthält die Nachrichtenbaumstruktur die Eingabe-Header der ursprünglichen Eingabenachricht sowie einen Nachrichtenhauptteil mit der Zeitlimit-Fehlernachricht. Der ursprüngliche Nachrichtenhauptteil sowie weitere Informationen zur Zeitlimitüberschreitung können in der Nachrichtenbaumstruktur 'LocalEnvironment' eingesehen werden. Nachfolgend ein Beispiel für einen solchen Eintrag in 'LocalEnvironment':
  (0x01000000:Name):HTTP = (
    (0x01000000:Name):Input = (
      (0x01000000:Name):Timeout = (
        (0x03000000:NameValue):OriginalClientLastWaitTime = 10 (INTEGER)
        (0x03000000:NameValue):OriginalClientWaitTime     = 15 (INTEGER)
        (0x03000000:NameValue):OriginalMessageMadeTheFlow = TRUE (BOOLEAN)
        (0x03000000:NameValue):OriginalRequestIdentifier  = 
           X'48545450000000000000000000000000c00c000000000000' (BLOB)
        (0x03000000:NameValue):OriginalInboundMessage     = X'3c3e' (BLOB)
      )
    )
  )

Bei SOAPInput-Knoten muss der mit dem HTTPTimeout-Terminalpfad verbundene SOAPReply-Knoten eine SOAP-Fehlerantwortnachricht senden und der Antwortstatuscode 500 kann nicht geändert werden. Bei HTTPInput-Knoten kann das HTTPTimeout-Terminal jede Antwortnachricht senden und der Antwortstatuscode kann durch Aktualisierung des Felds LocalEnvironment.Destination.HTTP.ReplyStatusCode der Nachrichtenbaumstruktur geändert werden.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:44


TaskthemaTaskthema | Version 8.0.0.5 | bc43720_