WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Configuración de flujos de mensajes para procesar tiempos de espera

Conecte el terminal de tiempo de espera HTTP de los nodos HTTPInput o SOAPInput a otros nodos para procesar los tiempos de espera.

Antes de empezar:

Puede configurar flujos de mensajes que empiezan con un nodo HTTPInput o SOAPInput conectando el terminal de tiempo de espera HTTP a otros nodos para procesar tiempos de espera:

Si estas condiciones no se cumplen al desplegar el archivo BAR para el flujo de mensajes que incluye uno de estos nodos, se genera un aviso y la vía de acceso del flujo de mensajes que se ha conectado al terminal de tiempo de espera HTTP se omite. No se generan avisos adicionales hasta el siguiente reinicio.

Para establecer un valor de tiempo de espera estático en un nodo de entrada:

  1. Cree un flujo de mensajes o abra un flujo existente.
  2. En el editor de flujos de mensajes, seleccione el nodo de entrada para este flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades (por debajo del panel del editor).
  3. Establezca un tiempo apropiado para el intervalo de tiempo de espera en la propiedad Tiempo máximo de espera de cliente. El intervalo predeterminado es de 180 segundos.

    Si este tiempo caduca, y no ha conectado uno o más nodos al terminal de tiempo de espera HTTP, el escucha que ha recibido el mensaje de solicitud del cliente responde con un mensaje de error SOAP, que indica que se ha excedido el tiempo de espera.

  4. Si desea proporcionar un proceso de tiempo de espera personalizado, conecte uno o más nodos al terminal de tiempo de espera HTTP. Debe incluir en esta secuencia el nodo de respuesta que coincide con el nodo de entrada. Por consiguiente, si el flujo de mensajes empieza con un nodo HTTPInput, debe incluir un nodo HTTPReply; si el flujo de mensajes empieza con un nodo SOAPInput, debe incluir un nodo SOAPReply.

Para establecer un valor de tiempo de espera dinámico en un nodo de entrada:

Puede derivar el valor que utilice para sustituir el valor existente de varias formas, como por ejemplo:
  • Crear un servicio configurable de tipo UserDefined para definir un valor de tiempo de espera y recuperar la propiedad adecuada.
  • Leer un registro de una base de datos.
  • Utilizar un valor de un campo en el cuerpo del mensaje.

Al propagar desde el terminal de tiempo de espera HTTP, puede cambiar el contenido de las respuestas que el flujo de mensajes envía al cliente. El proceso en la secuencia de nodos que se conecta al terminal de tiempo de espera HTTP también está sujeto a más tiempo de espera, por lo que el cliente siempre obtiene una respuesta en un intervalo de tiempo de espera conocido.

Cuando se propaga un mensaje desde el terminal de tiempo de espera HTTP, el árbol de mensajes contiene las cabeceras de entrada del mensaje de entrada original y un cuerpo de mensaje que es el mensaje de tiempo de espera de error. Se puede acceder al cuerpo del mensaje original, junto con el resto de información relativa al tiempo de espera, en el árbol de mensajes LocalEnvironment. Por ejemplo, el registro siguiente puede encontrarse en 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)
      )
    )
  )

Para los nodos SOAPInput, el nodo SOAPReply conectado en la vía de acceso de terminal de tiempo de espera HTTP debe enviar un mensaje de respuesta de error SOAP y el código de estado de respuesta 500 no puede modificarse. Para los nodos HTTPInput, puede enviarse cualquier mensaje de respuesta del terminal de tiempo de espera HTTP y el código de estado de respuesta puede cambiarse si se actualiza el campo del árbol de mensajes LocalEnvironment.Destination.HTTP.ReplyStatusCode.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

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

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:01:05


Tema de tareaTema de tarea | Versión 8.0.0.5 | bc43720_