Conecte o terminal HTTP Timeout do nó de HTTPInput ou SOAPInput aos nós adicionais para processamento de tempos limites.
É possível configurar fluxos de mensagens que iniciam com um nó de HTTPInput ou SOAPInput pela conexão do terminal HTTP Timeout a nós adicionais para processamento de tempos limites:
Se essas condições não forem atendidas na implementação do arquivo BAR para o fluxo de mensagens que inclui um desses nós, um aviso será gerado e o caminho do fluxo de mensagens que você conectou ao terminal HTTP Timeout será ignorado. Nenhum aviso adicional será gerado até a próxima reinicialização.
Para configurar um valor de tempo limite estático em um nó de entrada:
Se esse tempo expirar e você não tiver conectado um ou mais nós ao terminal HTTP Timeout, o listener que recebeu a mensagem de pedido do cliente responderá com uma mensagem de Falha de SOAP indicando que um tempo limite foi excedido.
Para configurar um valor de tempo limite dinâmico em um nó 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);
Propagando a partir do terminal HTTP Timeout é possível alterar o conteúdo das respostas que seu fluxo de mensagens envia ao cliente. O processamento na sequência de nós que você conecta ao terminal HTTP Timeout também está sujeito a um tempo limite adicional, para que o cliente sempre obtenha uma resposta dentro de um intervalo de tempo limite conhecido.
(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 nós de SOAPInput, o nó de SOAPReply conectado ao caminho do terminal HTTP deve enviar uma mensagem de resposta de falha de SOAP e o código de status de resposta 500 não poderá ser alterado. Para nós de HTTPInput, qualquer mensagem de resposta poderá ser enviada a partir do terminal HTTP Timeout e o código de status de resposta pode ser alterado atualizando-se o campo LocalEnvironment.Destination.HTTP.ReplyStatusCode da árvore de mensagens.