Este tópico contém as seguintes seções:
Utilize o nó HTTPRequest para interagir com um serviço da Web, utilizando toda ou parte da mensagem de entrada como o pedido enviado para esse serviço. Você também pode configurar o nó para criar uma nova mensagem de saída com o conteúdo da mensagem de entrada aumentada pelo conteúdo da resposta do serviço da Web antes de propagar a mensagem para nós subseqüentes no fluxo de mensagens.
Esse nó constrói um pedido HTTP a partir do conteúdo especificado da mensagem de entrada e o envia para o serviço da Web. Ele recebe a resposta do serviço da Web e analisa a resposta para inclusão na árvore de saída. Isso gera cabeçalhos HTTP, se eles forem requeridos por sua configuração.
Como o nó interage diretamente com um serviço externo utilizando TCP/IP, ele pode ter os três tipos de erro a seguir:
Você pode utilizar esse nó em um fluxo de mensagens que não contenha um nó HTTPInput ou HTTPReply.
O nó HTTPRequest trata mensagens nos seguintes domínios de mensagens:
O nó HTTPRequest é representado no pelo seguinte ícone:
Você pode utilizar esse nó para configurar um fluxo de mensagens, que age como um intermediário para o serviço da Web de duas formas diferentes:
Consulte o nó HTTPInput para obter uma descrição dessa opção e para obter dois exemplos de sua utilização.
Você pode configurar fluxos de mensagens que recebam mensagens de entrada de clientes que utilizam qualquer transporte para conectar-se ao intermediário e para enviar mensagens de saída para clientes que utilizam o mesmo ou outro transporte para conectar-se ao intermediário. Você pode utilizar o nó HTTPRequest em um fluxo de mensagens para interagir com um serviço da Web, independentemente do aplicativo de origem que iniciou a mensagem de entrada.
Por exemplo, um aplicativo coloca uma mensagem em uma fila. Você projeta um fluxo de mensagens que recupera essa mensagem (nó MQInput) e propaga-a para um nó HTTPRequest. O nó HTTPRequest interage com um serviço da Web que retorna informações associadas ao conteúdo da mensagem de entrada original em sua mensagem de resposta. Por exemplo, ele pode incluir preços de ações atuais a uma lista de opções de ações ou retornar listagens de URLs em resposta a um pedido de pesquisa. O nó HTTPRequest transmite as informações para um nó Compute, que gera uma resposta para o aplicativo de origem (através de um nó MQReply).
Quando tiver colocado uma instância do nó HTTPRequest em um fluxo de mensagens, você poderá configurá-lo. Clique com o botão direito na visualização do editor clique em Propriedades. As propriedades básicas do nó são exibidas.
Todas as propriedades mandatórias, para as quais é necessário inserir um valor (aquelas que não possuem um valor padrão definido) são marcadas com um asterisco no diálogo das propriedades.
Configure o nó HTTPRequest da seguinte forma:
As duas primeiras opções fornecem métodos dinâmicos de definir um URL para cada mensagem de entrada à medida que passam pelo fluxo de mensagens. Para utilizar uma dessas opções, você deve incluir um nó Compute no fluxo de mensagens antes do nó HTTPRequest para criar e inicializar o valor requerido.
A terceira opção fornece um valor fixo para cada mensagem recebida por esse nó. Isso pode ser útil como uma definição padrão utilizada, se os outros campos não foram criados ou contiverem um valor nulo. Se um dos campos contiver um valor, a definição dessa propriedade será ignorada.
Assegure-se de que o valor definido em X-Original-HTTP-URL, LocalEnvironment.Destination.HTTP.RequestURL ou nessa propriedade seja válido, caso contrário, o nó gerará uma exceção e a mensagem será propagada para o terminal failure.
Se desejar que a mensagem de pedido contenha um subconjunto da mensagem de entrada, limpe esta caixa de opções e preencha a propriedade Localização da Mensagem de Pedido na Árvore.
Você pode inserir qualquer referência de campo ESQL válida, incluindo expressões na referência. Por exemplo, insira:
InputRoot.XMLNS.ABC
Se você selecionar a caixa de opções Utilizar Toda a Mensagem de Entrada como Pedido, essa propriedade será ignorada.
Quando o conteúdo apropriado da árvore da mensagem for analisado para criar um fluxo de bits, serão utilizadas as propriedades da mensagem (domínio, conjunto, tipo e formato) associadas ao corpo da mensagem de entrada e armazenadas na pasta Propriedades.
Se desejar que a mensagem de resposta do serviço da Web seja incluída na mensagem de saída com parte do conteúdo da mensagem de entrada, limpe essa caixa de opções e preencha a propriedade Localização da Mensagem de Resposta na Árvore.Se você limpar essa propriedade, o nó copiará a mensagem de entrada para a mensagem de saída e gravará a mensagem de resposta do serviço da Web sobre o conteúdo da mensagem de saída na localização especificada (a própria mensagem de entrada não é modificada).
Você pode inserir qualquer referência de campo ESQL válida, incluindo expressões na referência e incluindo novas referências de campo (para criar um novo nó na árvore de mensagens para a resposta). Por exemplo, insira:
OutputRoot.XMLNS.ABC.DEFou
Environment.WSReply
Se você selecionar a caixa de opções Substituir Mensagem de Entrada pela Resposta do Serviço da Web, essa propriedade será ignorada.
Quando o fluxo de bits de resposta é analisado para criar conteúdo da árvore de mensagens, são utilizadas as propriedades da mensagem (domínio, conjunto, tipo e formato) especificadas nas Propriedades padrão do nó (descritas a seguir).
Se você não desejar que um nó gere um HTTPRequestHeader para a mensagem do pedido, limpe a caixa de opções Gerar Cabeçalhos HTTP Padrão na Entrada (a definição padrão é selecionada). Para controlar o conteúdo do HTTPRequestHeader incluído na mensagem de pedido, inclua o nó Compute que inclui um HTTPRequestHeader à mensagem de entrada antes desse nó HTTPRequest no fluxo de mensagens e limpe essa caixa de opções.
Isso inclui também os cabeçalhos de serviços da Web mostrados na tabela a seguir, com valores padrão, se não estiverem presentes em HTTPRequestHeader ou HTTPInputHeader.
Cabeçalho | Valor Padrão |
---|---|
SOAPAction | "" (cadeia vazia) |
Content-Type | text/xml; charset=utf-8 |
Host | O nome do host ao qual o pedido é enviado |
Inclui também o cabeçalho adicional Content-Length com o valor correto calculado, mesmo que não esteja presente no HTTPRequestHeader ou no HTTPInputHeader.
Se desejar que a mensagem de erro do serviço da Web seja incluída na mensagem de saída com parte do conteúdo da mensagem de entrada, limpe essa caixa de opções e preencha a propriedade Localização da Mensagem de Erro. Se você limpar essa propriedade, o nó copiará a mensagem de entrada para a mensagem de saída e gravará a mensagem de erro do serviço da Web sobre o conteúdo da mensagem de saída na localização especificada (a própria mensagem de entrada não é modificada).
Você pode digitar qualquer referência de campo ESQL válida, incluindo expressões na referência e incluindo novas referências de campo (para criar um novo nó na árvore de mensagens para a resposta). Por exemplo, insira:
OutputRoot.XMLNS.ABC.DEFou
Environment.WSError
Se você selecionar a caixa de opções Substituir Entrada por Erro, essa propriedade será ignorada.
Se uma mensagem de erro for retornada pelo serviço da Web, os valores dessas propriedades serão ignorados e a mensagem será analisada pelo analisador BLOB.
Deixe o campo Conjunto de Mensagens vazio para os analisadores XML, XMLNS, JMS e BLOB.
Deixe o campo Tipo de Mensagem vazio para os analisadores XML, XMLNS, JMS e BLOB.
Deixe o campo Formato de Mensagem vazio para os analisadores XML, XMLNS, JMS e BLOB.
Os destinos de defeitos se comportam como os da saída do nó Trace. Portanto se, por exemplo, Rastreio do Usuário estiver selecionado, as entradas de rastreio serão gravadas, independentemente da definição do sinalizador de rastreio do usuário para o fluxo de mensagens.
Clique em Cancelar para fechar o diálogo e descartar todas as alterações feitas nas propriedades.
Conecte o terminal out, error ou failure deste nó a outro nó desse fluxo de mensagens para processar a mensagem melhor, processar os erros ou enviar a mensagem para um destino adicional. Se você não conectar o terminal de erro, a mensagem será descartada. Se você não conectar o terminal failure, o intermediário fornecerá o processamento de erros padrão, descrito em Tratando Erros em Fluxos de Mensagens.
Os terminais do nó HTTPRequest são descritos na tabela a seguir.
Terminal | Descrição |
---|---|
Entrada | O terminal de entrada que aceita a mensagem para processamento pelo nó. |
Defeito | O terminal de saída para o qual a mensagem será roteada se for detectado um defeito durante o processamento no nó. |
Saída | O terminal de saída para o qual a mensagem será roteada se representar a conclusão bem-sucedida do pedido de serviço da Web e for requerido processamento adicional nesse fluxo de mensagens. |
Erro | O terminal de saída para o qual as mensagens que incluem um código de status de HTTP que não esteja no intervalo de 200 a 299, incluindo os códigos de redirecionamento (3xx), se você não definiu a propriedade Seguir Redirecionamento HTTP. |
As tabelas a seguir descrevem as propriedades do nó; a coluna com cabeçalho M indica se a propriedade é mandatória (marcado com um asterisco no diálogo de propriedades caso seja necessário digitar um valor quando nenhum padrão for definido), a coluna com cabeçalho C indica se a propriedades é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens no arquivo bar para implementá-lo).
As propriedades Básicas do nó HTTPRequest são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
URL de Serviço da Web | Sim | Sim | A URL para o serviço da Web. Você
deve fornecê-lo no formato
http://<nome_do_host>[:<porta>]/[<caminho>], em
que
|
|
Tempo Limite de Pedido | Sim | Não | 120 | O tempo em segundos no qual o nó aguarda por uma resposta do serviço da Web. O intervalo válido é de 1 a (231)-1. Não é possível inserir um valor que representa uma espera ilimitada. |
Localização do Proxy HTTP | Não | Sim | O servidor proxy para o qual os pedidos são enviados. Deve estar no formato nome_do_host:porta. | |
Seguir o redirecionamento HTTP | Sim | Não | Limpo | Determina se as redireções HTTP são seguidas. Se você selecionar a caixa de opções, o redirecionamentos serão seguidos. Se você limpar essa caixa de opções, os redirecionamentos não serão seguidos. |
As propriedades Avançadas do nó HTTPRequest são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Utilizar Toda a Mensagem como Pedido | Sim | Não | Selecionada | Determina se todo o corpo da mensagem de entrada deve ser transmitido para o serviço da Web. Se você selecionar a caixa de opções, essa ação é executada. Se você limpar essa caixa de opções, deverá especificar Localização da Mensagem de Pedido na Árvore. |
Localização da Mensagem de Pedido na Árvore | Sim | Não | InputRoot | O local inicial do qual o fluxo de bits é criado para enviar o serviço da Web. Esta propriedade utiliza o formato de uma referência de campo ESQL. |
Substituir Mensagem de Entrada pela Resposta do Serviço da Web | Sim | Não | Selecionada | Determina se a mensagem de resposta do serviço da Web substitui a cópia da mensagem de entrada como o conteúdo da mensagem de saída criada. Se você selecionar a caixa de opções, essa ação é executada. Se você limpar essa caixa de opções, deverá especificar Localização da Mensagem de Resposta na Árvore. |
Localização da Mensagem de Resposta na Árvore | Sim | Não | OutputRoot | O local inicial no qual os elementos analisados do fluxo de bits de resposta de serviços da Web são armazenados. Esta propriedade utiliza o formato de uma referência de campo ESQL. |
Gerar Cabeçalhos HTTP Padrão na Entrada | Sim | Não | Selecionada | Determina se um HTTPRequestHeader é gerado. Se você selecionar a caixa de opções, essa ação é executada. Se você limpar esta caixa de opções, um HTTPRequestHeader válido deverá existir na mensagem de entrada. |
As propriedades de Erro do Nó HTTPRequest estão descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Substituir Entrada por Erro | Sim | Não | Selecionada | Determina se o conteúdo da mensagem de entrada será substituído pelo conteúdo da mensagem de erro. Se você selecionar essa caixa de opções, a ação será executada. Se você limpar essa caixa de opções, deverá especificar Localização da Mensagem de Erro. |
Localização da mensagem de erro | Sim | Não | OutputRoot | O local inicial no qual os elementos analisados do fluxo de bits de erro de serviços da Web são armazenados. Esta propriedade utiliza o formato de uma referência de campo ESQL. |
As propriedades Padrão do nó HTTPRequest são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Domínio de Mensagens | Não | Não | O domínio da mensagem de resposta recebida do serviço da Web. | |
Conjunto de Mensagens | Não | Não | O conjunto de mensagens da mensagem de resposta. | |
Tipo de Mensagem | Não | Não | O tipo da mensagem de resposta. | |
Formato de Mensagem | Não | Não | O formato da mensagem de resposta. |
As propriedades de Validação do nó HTTPRequest estão descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Validar | Sim | Não | Nenhum | Determina se a validação ocorrerá. Os valores válidos são Nenhum e Conteúdo e Valor. |
Ação de Defeito | Sim | Não | Rastreio do Usuário | O que acontece se a validação falhar. Você pode definir essa propriedade apenas se você definir Validar como Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Log de Erro Local e Exceção. |
Sincronização | Sim | Não | Adiado | Quando ocorre a validação. Você pode definir essa propriedade apenas se você definir Validar como Conteúdo e Valor. Os valores são Adiado, Imediato e Concluído. |
Incluir Todas as Restrições de Valores | Sim | Não | Selecionada | Não é possível alterar esta propriedade. |
Corrigir | Sim | Não | Nenhum | Não é possível alterar esta propriedade. |
As propriedades de Descrição do nó HTTPRequest são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
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. |
Conceitos relacionados
Fluxos de Mensagem
ESQL
Referências de Campos ESQL
Tarefas relacionadas
Decidindo Quais Nós Utilizar
Tratando Erros em Fluxos de Mensagens
Configurando ESQL Dentro de Nós
Editando Propriedades Configuráveis
Referências relacionadas
Nó Compute
Nó HTTPInput
Nó HTTPReply
Nó MQInput
Nó MQReply
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
ac04595_ |