Conecte el terminal de tiempo de espera HTTP de los nodos HTTPInput o SOAPInput a otros nodos para procesar los tiempos de espera.
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:
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.
Para establecer un valor de tiempo de espera dinámico en un nodo de entrada:
MbMessage localEnv = assembly.getLocalEnvironment();
MbElement rootElem = localEnv.getRootElement();
MbElement repIdElement = rootElem.getFirstElementByPath(
"/Destination/SOAP/Reply/ReplyIdentifier");
Object repId = repIdElement.getValue();
boolean success = changeIdentifierTimeout((byte[])repId, timeout);
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.
(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.