WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Configurando Fluxos de Mensagens para Processar Tempos Limites

Conecte o terminal HTTP Timeout do nó de HTTPInput ou SOAPInput aos nós adicionais para processamento de tempos limites.

Antes de começar:

É 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:

  1. Crie um fluxo de mensagens ou abra um fluxo existente.
  2. No editor de Fluxo de Mensagens, selecione o nó de entrada para este fluxo de mensagens. As propriedades do nó são exibidas na visualização Propriedades (abaixo da área de janela do editor).
  3. Configure um tempo adequado para o intervalo de tempo limite na propriedade Tempo máximo de espera do cliente. O intervalo padrão é de 180 segundos.

    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.

  4. Se desejar fornecer processamento de tempo limite customizado, conecte um ou mais nós ao terminal HTTP Timeout. É necessário incluir nesta sequência o nó de resposta que corresponde ao nó de entrada. Portanto, se seu fluxo de mensagens iniciar com um nó HTTPInput, será necessário incluir um HTTPReply; se seu fluxo de mensagens iniciar com um nó SOAPInput, você deverá incluir um nó SOAPReply.

Para configurar um valor de tempo limite dinâmico em um nó de entrada:

É possível derivar o valor usado para substituir o valor existente por vários meios; por exemplo:
  • Crie um serviço configurável de tipo UserDefined para definir um valor de tempo limite e recuperar a propriedade adequada.
  • Leia um registro a partir de um banco de dados.
  • Utilize um valor a partir de um campo dentro do corpo da mensagem.

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.

Quando uma mensagem for propagada a partir do terminal HTTP Timeout, a árvore de mensagens conterá cabeçalhos de entrada da mensagem de entrada original e um corpo da mensagem que será a mensagem de tempo limite com falha. O corpo da mensagem original junto com outras informações relacionadas ao tempo limite podem ser acessados na árvore de mensagens LocalEnvironment. Por exemplo, o registro a seguir pode ser localizado em 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 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.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:31:06


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bc43720_