Enviando Cabeçalhos de Transporte com JAX-RPC

É possível ativar um cliente de serviços da Web (Java™ API for XML-based RPC) existente para enviar informações definidas pelo aplicativo juntamente com seus pedidos de serviços da Web, utilizando os cabeçalhos de transporte.

Antes de Iniciar

Você precisa de um cliente de serviços da Web JAX-RPC que você possa ativar para enviar cabeçalhos de transporte.

O envio de cabeçalhos de transporte é suportado apenas por clientes de serviços da Web, e apenas suportado para os transportes HTTP e JMS. O cliente de serviços da Web deve chamar as APIs JAX-RPC diretamente e não por meio de quaisquer camadas intermediárias, como uma função de gateway. O envio e a recuperação de cabeçalhos de transporte no servidor de serviços da Web são feitos por meio de APIs de serviços não da Web.

Sobre Esta Tarefa

Ao utilizar o modelo de programação JAX-RPC, o cliente deve configurar uma propriedade no objeto Stub ou Call para enviar valores nos cabeçalhos de transporte. Depois que a propriedade é configurada, os valores são configurados em todos os pedidos para chamadas de método remoto subsequentes nesse objeto Stub ou Call até que a propriedade associada seja configurada como null ou o objeto Stub ou Call seja descartado.

Para enviar valores nos cabeçalhos de transporte em pedidos de saída, modifique o código do cliente da seguinte forma:

Procedimento

  1. Crie um objeto java.util.HashMap que contenha os identificadores de cabeçalho de transporte.
  2. Inclua uma entrada para o objeto HashMap para cada cabeçalho de transporte que quiser que o cliente envie.
    1. Configure a chave de entrada HashMap como uma cadeia que corresponda exatamente ao identificador de cabeçalho de transporte. É possível definir o identificador de cabeçalho com um nome de cabeçalho reservado, como Cookie, no caso de HTTP, ou o identificador de cabeçalho pode ser definido pelo usuário, como MyTransportHeader. Certos identificadores de cabeçalho são processados de maneira exclusiva, mas não é feita nenhuma outra verificação em relação ao valor do identificador de cabeçalho. Para obter mais informações sobre os identificadores de cabeçalho HTTP que possuem consideração exclusiva, leia sobre as boas práticas das propriedades de cabeçalho de transporte. É possível localizar as constantes da cadeia do identificador de cabeçalho comum, tal como HTTP_HEADER_SET_COOKIE na classe com.ibm.websphere.webservices.Constants.
    2. Configure o valor da entrada HashMap para uma cadeia que contenha o valor do cabeçalho de transporte.
  3. Configure a entrada HashMap no objeto Stub ou Call utilizando a propriedade com.ibm.websphere.webservices.Constants.REQUEST_TRANSPORT_PROPERTIES. Quando o valor da propriedade REQUEST_TRANSPORT_PROPERTIES é definido, aquele HashMap é utilizado em chamadas subsequentes para definir os valores de cabeçalho nos pedidos que saem. Se o valor da propriedade REQUEST_TRANSPORT_PROPERTIES for configurado como null, nenhum HashMap será utilizado em chamadas subsequentes para configurar valores de cabeçalho em pedidos de saída. Para saber mais sobre essas propriedades, consulte a documentação das propriedades do cabeçalho de transporte.
  4. Emita as chamadas de método remoto no objeto Stub ou Call. Os cabeçalhos e os valores associados de HashMap são incluídos no pedido de saída para cada solicitação de método. Se a chamada utilizar HTTP, os cabeçalhos de transporte serão enviados como cabeçalhos HTTP dentro do pedido de HTTP. Se a chamada utilizar JMS, os cabeçalhos de transporte serão enviados como propriedades de mensagem do JMS.
    Se a propriedade não estiver configurada corretamente, você poderá encontrar erros de uso da API que resultarão em um erro JAXRPCException. Os seguintes requisitos devem ser atendidos, ou o processo falhará:
    • O valor da propriedade que é configurado no objeto Stub ou Call deve ser um objeto HashMap ou null.
    • O HashMap não pode estar vazio.
    • Cada chave no HashMap deve ser um objeto String.
    • Cada valor no HashMap deve ser um objeto String.

Resultados

Você tem um cliente de serviços da Web JAX-RPC que está configurado para enviar cabeçalhos de transporte.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_cookie
Nome do arquivo: twbs_cookie.html