HTTPInput

Utilize o nó HTTPInput para receber pedidos de serviço da Web para serem processados por um fluxo de mensagens.

Este tópico contém as seguintes seções:

Propósito

Se você utilizar o nó HTTPInput com os nós HTTPReply e HTTPRequest, o intermediário poderá atuar como um intermediário para serviços da Web e os pedidos de serviço da Web poderão ser transformados e roteados da mesma maneira que outros formatos da mensagem que são suportados pelo WebSphere Message Broker. Os pedidos de serviço da Web podem ser recebidos em formato HTTP padrão (1.0 ou 1.1) ou em formato HTTP sobre SSL (HTTPS). Configure a propriedade Utilizar HTTPS para escolher se deseja manipular pedidos HTTP ou HTTPS.

Se você incluir um nó HTTPInput em um fluxo de mensagens, deverá incluir um nó HTTPReply no mesmo fluxo ou transmitir a mensagem para outro fluxo que inclua um nó HTTPReply (por exemplo, por meio de um nó MQOutput para um segundo fluxo que começa com um nó MQInput). No último caso, o pedido do e a resposta para o ciente são coordenados pelo identificador de pedido armazenado no LocalEnvironment.

O nó HTTPInput manipula mensagens nos seguintes domínios de mensagem:
  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMS
  • JMSStream
  • IDOC
  • MIME
  • BLOB

Quando o nó HTTPInput recebe uma mensagem de um cliente de serviço da Web, o nó inicia os analisadores apropriados para interpretar os cabeçalhos e o corpo da mensagem, e para criar a árvore de mensagens que é usada internamente pelo fluxo de mensagens. O nó cria um identificador único para a mensagem de entrada e o armazena como uma matriz binária de 24 bytes na árvore Ambiente Local no LocalEnvironment.Destination.HTTP.RequestIdentifer. Este valor é utilizado pelo nó HTTPReply e não deve ser modificado de forma alguma.

As mensagens HTTP são sempre não persistentes e não possuem ordem associada.

As mensagens HTTP são não transacionais. Entretanto, se o fluxo de mensagens interagir com um banco de dados ou outro recurso externo, como uma fila do WebSphere MQ, essas interações serão executadas em uma transação. O nó HTTPInput fornece confirmação ou recuperação, dependendo de como o fluxo de mensagens foi encerrado e como ele está configurado para manipulação de erros (como os terminais de falha estão conectados, por exemplo). Se for efetuado rollback do fluxo de mensagens por este nó, uma mensagem de falha será gerada e retornada ao cliente. O formato da falha é definido pela propriedade Formato da falha.

Se uma exceção ocorrer no recebimento de dados neste fluxo de mensagens, e ela não for capturada mas for retornada para este nó, o nó construirá uma resposta de erro ao cliente. Este erro é derivado da exceção e o formato do erro é definido pela propriedade Formato de Falha.

Se você incluir um nó de saída em um fluxo de mensagens que começa com um nó HTTPInput, o nó de saída poderá ser qualquer um dos nós de saída suportados (incluindo nós de saída definidos pelo usuário). Você pode criar um fluxo de mensagens que recebe mensagens de clientes de serviço da Web e gera mensagens para clientes que utilizam todos os transportes suportados para se conectarem ao intermediário. Você pode configurar o fluxo de mensagens para solicitar que o intermediário forneça qualquer conversão necessária.

Se você criar um fluxo de mensagens para utilizar como um subfluxo, não poderá utilizar um nó de entrada padrão; é necessário utilizar um nó Entrada como o primeiro nó para criar um terminal In para o subfluxo.

Se o seu fluxo de mensagens não receber pedidos de serviços da Web, utilize qualquer um dos outros nós de entrada.

O nó HTTPInput está contido na caixa da paleta HTTP e representado no ambiente de trabalho pelo seguinte ícone:

Ícone do nó HTTPInput

Utilizando este nó em um fluxo de mensagens

É possível utilizar o nó HTTPInput em qualquer fluxo de mensagens que aceite mensagens HTTP ou HTTPS. O exemplo mais comum é um fluxo de mensagens que implementa um serviço da Web.

Para obter informações adicionais sobre os aplicativos de serviço da Web, consulte Trabalhando com Aplicativos de Serviço da Web.

O nó HTTPInput suporta HTTP POST e HTTP GET. Para obter mais informações sobre como ativar o HTTP GET, consulte Nó HTTPRequest.

Utilizando os Nós HTTPInput e HTTPReply para Atuar como um Servidor da Web

Início da mudançaUm intermediário pode suportar vários nós HTTPInput. Ao configurar o nó HTTPInput, especifique os pedidos aos quais o nó atende. Se o intermediário estiver atendendo no endereço http://localhost:7080, para um pedido http://localhost:7080/Joe/Mary, o listener HTTP removerá o endereço HTTP deixando o pedido Joe/Mary. O listener então corresponde o pedido com as informações especificadas no seletor de URL do nó HTTPInput; esta correspondência é feita dos dados mais específicos para os mais genéricos. Por exemplo, se qualquer dos seguintes valores foi especificado em um nó HTTPInput:
/Joe /Joe/Mary /Joe/* /*
este formato obterá a mensagem se nenhum outro nó corresponder ao pedido. Assim, para o pedido: http://localhost:777/Joe/Sally, ele corresponde a Joe/*. Se o pedido não corresponder a nenhum seletor de URL e você não tiver um nó de entrada com /* especificado, o nó HTTPInput retornará uma resposta ao originador. Por exemplo:
<html>
<head>
	<title>Relatório de erros do WebSphere MQ Integrator
	</title>
</head>
	<body>
		<h1>HTTP Status 404 - Recurso Não Encontrado</h1>
		URI /soap não mapeado para nenhum fluxo de mensagens no intermediário VCP1BRK
	<h3>WebSphere MQ Integrator 500</h3>
	</body>
</html>
Fim da mudança

Você pode utilizar uma URL do /* para capturar quaisquer pedidos que falharam em corresponder às URLs nos nós HTTPInput, permitindo enviar uma mensagem de resposta e executar outras ações conforme apropriado.

O intermediário deve ser configurado para utilizar uma porta (o padrão é 7080). O listener HTTP é iniciado pelo Início da mudança intermediário quando um fluxo de mensagens que inclui nós HTTP ou suporte a Serviços da Web é iniciado.Fim da mudança Quando um pedido é inserido, o listener envia-o para o nó HTTPInput por meio de uma mensagem do WebSphere MQ.

Início da mudançaFim da mudança

Início da mudança O listener HTTP atende nos endereços IPv6 (Internet Protocol Versão 6) e IPv4 (Internet Protocol Versão 4) onde suportado pelo sistema operacional. Para ativar o atendimento do IPv6 nas plataformas Windows e HPUX, configure a variável de ambiente _JAVA_OPTIONS como -Djava.net.preferIPv4Stack=false.Fim da mudança

O comando mqsichangetrace pode ser utilizado para coletar informações de rastreio para o listener HTTP. Para processar o log, utilize o comando mqsireadlog com qualifier configurado como httplistener.

Conectando Terminais

O nó HTTPInput roteia cada mensagem recuperada com êxito para o terminal Out. Se a validação da mensagem falhar, a mensagem será roteada para o terminal Failure; você poderá conectar nós a esse terminal para identificar essa condição. Se você não tiver conectado o terminal Failure, a mensagem será descartada, o Tempo de espera máximo do cliente (Maximum client wait time) expirará e o listener TCP/IP retornará um erro ao cliente. Não há nenhuma outra situação em que a mensagem é roteada para o terminal Failure.

Se a mensagem for capturada por esse nó após a emissão de uma exceção no fluxo de mensagens, a mensagem será roteada para o terminal Catch. Se você não tiver conectado o terminal Catch, a mensagem será descartada, o Tempo de espera máximo do cliente (Maximum client wait time) expirará e o listener TCP/IP retornará um erro ao cliente.

Terminais e Propriedades

Quando tiver colocado uma instância do nó HTTPInput em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades. Para exibir as propriedades do nó no diálogo Propriedades, dê um clique duplo no nó ou clique com o botão direito no nó e clique em Propriedades.

Os terminais do nó HTTPInput são descritos na tabela a seguir.

Terminal Descrição
Failure O terminal de saída para o qual a mensagem será roteada se ocorrer um erro.
Out O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito.
Catch O terminal de saída para o qual a mensagem será roteada se for emitida uma exceção downstream e capturada por este nó.

As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco caso seja necessário digitar um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens ao arquivo BAR para implementá-lo).

As propriedades Descrição do nó HTTPInput são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Nome do Nó Não Não O tipo de nó, HTTPInput O nome do nó.
Descrição Breve Não Não   Uma breve descrição do nó.
Descrição Longa Não Não   Texto que descreve a finalidade do nó no fluxo de mensagens.

As propriedades Básicas do nó HTTPInput são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Sufixo de caminho para URL (Path suffix for URL) Sim Sim   Essa propriedade identifica o local de onde os pedidos de serviços da Web são recuperados. Não utilize a URL completa. Se o URL desejado for http://<nome do host>[:<porta>]/[<caminho>], especifique /<caminho> ou /<fragmento de caminho>/*, em que * é um caractere curinga que pode ser utilizado para indicar qualquer correspondência.
Utilizar HTTPS Não Sim Não Selecionada Essa propriedade identifica se o nó aceitará HTTP seguro. Se o nó for aceitar HTTP seguro, selecione a caixa de opção.

As propriedades Análise de Mensagem de Entrada do nó HTTPInput são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Domínio de mensagem Não Não   O domínio utilizado para analisar a mensagem que chega. Selecione o nome do analisador que você está utilizando na lista:
  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMS
  • JMSStream
  • IDOC
  • MIME
  • BLOB
Conjunto de Mensagens Não Não   O nome ou identificador do conjunto de mensagens no qual a mensagem que chega está definida. Todos os conjuntos de mensagens disponíveis estão na lista.

Se você estiver utilizando o analisador MRM ou IDOC, selecione o Conjunto de Mensagens que deseja utilizar. Essa lista é preenchida por conjuntos de mensagens disponíveis quando você seleciona MRM ou IDOC como domínio.

Deixe o campo Conjunto de Mensagens em branco para os analisadores XML, XMLNS, XMLNSC, JMS, MIME e BLOB.

Tipo de mensagem Não Não   O nome da mensagem que chega.

Se você estiver utilizando o analisador MRM, selecione o tipo de mensagem na lista em Tipo de Mensagem. Esta lista é ocupada com mensagens que estão definidas no Conjunto de mensagens que você selecionou.

Deixe Tipo de Mensagem em branco para os analisadores XML, XMLNS, XMLNSC, JMS, IDOC, MIME e BLOB.

Formato de Mensagem Não Não   O nome do formato físico da mensagem que chega.

Se você estiver utilizando o analisador MRM ou IDOC, selecione o formato da mensagem na lista em Formato da Mensagem. Esta lista inclui todos os formatos físicos que você definiu para este Conjunto de Mensagens.

Deixe Formato de Mensagem em branco para os analisadores XML, XMLNS, XMLNSC, JMS, MIME e BLOB.

As propriedades das Opções do Analisador para o nó HTTPInput são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Cronometragem de análise (Parse timing) Não Não On Demand Esta propriedade controla quando uma mensagem de entrada é analisada. Os valores válidos são On Demand, Imediato e Completo.

Por padrão, esta propriedade é configurada como On Demand, o que faz com que a validação seja atrasada até que ela seja analisada pela análise parcial. Se você alterar esse valor para Imediato, a análise parcial será substituída e tudo o que estiver na mensagem será analisado e validado, exceto aqueles tipos complexos com uma composição de Opção ou Mensagem que não possam ser resolvidos no momento, causando uma falha de validação. Se você alterar esse valor para Completo, a análise parcial será substituída e tudo o que estiver na mensagem será analisado e validado.

Utilizar analisador compacto XMLNSC para domínio XMLNS Não Não Não Selecionada Essa propriedade controla se o Analisador Compacto XMLNSC (XMLNSC Compact Parser) é utilizado para mensagens no Domínio XMLNS (XMLNS Domain). Se você definir essa propriedade, os dados da mensagem serão exibidos em XMLNSC nos nós que estão conectados ao terminal de saída quando o cabeçalho de entrada MQRFH2 ou a Propriedade de Analisador da mensagem de entrada Domínio de Mensagens é XMLNS.
Reter conteúdo misto (Retain mixed content) Não Não Não Selecionada Esta propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar texto misto em uma mensagem de entrada. Se você selecionar a caixa de opções, serão criados elementos para texto misto. Se você desmarcar a caixa de opções, texto misto será ignorado e nenhum elemento será criado.
Reter comentários (Retain comments) Não Não Não Selecionada Esta propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar comentários em uma mensagem de entrada. Se você selecionar a caixa de opções, serão criados elementos para comentários. Se você desmarcar a caixa de opções, comentários serão ignorados e nenhum elemento será criado.
Reter instruções de processamento (Retain processing instructions) Não Não Não Selecionada Esta propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar instruções de processamento na mensagem de entrada. Se você selecionar a caixa de opções, serão criados elementos para instruções de processamento. Se você desmarcar a caixa de opções, instruções de processamento serão ignoradas e nenhum elemento será criado.

As propriedades de manipulação de Erro do Nó HTTPInput são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Tempo de espera máximo do cliente (seg) Sim Não 180 O período de tempo, em segundos, pelo qual o listener TCP/IP que recebeu a mensagem de entrada do cliente de serviço da Web aguarda por uma resposta do nó HTTPReply no fluxo de mensagens. Se for recebida uma resposta nesse período, o listener propagará a resposta para o cliente. Se não for recebida uma resposta nesse tempo, o listener enviará uma mensagem de Falha do SOAP para o cliente indicando que seu tempo limite expirou. O intervalo válido é de zero (o que significa uma espera indefinida) a (231)-1.
Formato de falha Não Sim SOAP 1.1 O formato de qualquer erro HTTP retornado ao cliente. Os valores válidos são SOAP 1.1, SOAP 1.2 e HTML.

As propriedades Validação do nó HTTPInput são descritas na tabela a seguir.Se uma mensagem for propagada para o terminal Failure do nó, ela não será validada. Para obter detalhes adicionais, consulte Validando Mensagens e Propriedades de Validação.

.

Propriedade M C Padrão Descrição
Validar Não Sim Nenhuma Essa propriedade controla se a validação ocorre. Os valores válidos são Nenhum, Conteúdo e Valor e Conteúdo.
Ação de falha Não Não Exceção Essa propriedade controla o que acontecerá se a validação falhar. Você pode configurar essa propriedade somente se configurar Validar como Conteúdo ou Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceções.
Inclusão de todos Valores de Tipo Não Não Selecionada Essa propriedade não pode ser editada. As verificações de limitação de valor básico estão incluídas na validação de Conteúdo e Valor.
Correção Não Não Nenhuma Essa propriedade não pode ser editada.

Início da mudançaAs propriedades Avançadas do nó HTTPInput são descritas na tabela a seguir.Fim da mudança

Início da mudança
Propriedade M C Padrão Descrição
Configurar lista de destino Não Não Selecionada Esta propriedade especifica se incluir o nome da ligação do método na rota para a lista de destino do rótulo. Se você selecionar esta caixa de opção, o nome da ligação do método será incluído para que seja possível utilizar um nó RouteToLabel no fluxo de mensagens após o nó HTTPInput.
Prefixo do rótulo Não Não Nenhuma O prefixo a ser incluído no nome do método ao rotear para o rótulo. Inclua um prefixo do rótulo para evitar um conflito de nós de rótulo correspondentes quando você incluir vários nós de entrada do WebSphere Message Broker no mesmo fluxo de mensagens. Por padrão, não há prefixo de rótulo, portanto o nome do método e do rótulo são idênticos.
Fim da mudança
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:39

ac04565_