Recuperando Cabeçalhos de Transporte com JAX-RPC

É possível ativar um cliente de serviços da Web JAX-RPC (Java™ API for XML-based RPC) existente para recuperar os valores dos cabeçalhos de transporte. Para um pedido que utiliza HTTP, os cabeçalhos de transporte são recuperados dos cabeçalhos HTTP localizados na mensagem de resposta HTTP. Para um pedido que utiliza JMS (Java Message Service), os cabeçalhos de transporte são recuperados das propriedades de mensagens JMS localizadas na mensagem de resposta JMS.

Antes de Iniciar

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

A recuperação de cabeçalhos de transporte é suportada apenas por clientes de serviços da Web, e apenas suportada 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 recuperar os valores dos cabeçalhos de transporte. Depois que a propriedade for configurada, os valores serão lidos de respostas para as chamadas do método subsequente na instância Stub ou Call até que a propriedade associada seja configurada como null ou o objeto Stub ou Call seja descartado.

Para recuperar valores dos cabeçalhos de transporte nas respostas de entrada, modifique o código do cliente.

Procedimento

  1. Crie um objeto java.util.HashMap contendo os nomes dos cabeçalhos de transporte a serem recuperados das mensagens de resposta de entrada.
  2. Inclua uma entrada no HashMap para cada cabeçalho que deseja para recuperar um valor de cada mensagem de resposta de entrada.
    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 do 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 para confirmar o 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. O valor de entrada HashMap é ignorado e não precisa ser configurado. Um HashMap vazio, por exemplo, um que seja não nulo, mas não contenham qualquer chave, faz com que todos os cabeçalhos de transporte na resposta sejam recuperados.
  3. Configure a entrada HashMap no objeto Stub ou Call utilizando a propriedade com.ibm.websphere.webservices.Constants.RESPONSE_TRANSPORT_PROPERTIES. Quando o HashMap for definido, a propriedade RESPONSE_TRANSPORT_PROPERTIES é utilizada em chamadas subsequentes para recuperar os cabeçalhos das respostas. Se você configurar a propriedade como null, nenhum cabeçalho será recuperado da resposta. Para aprender mais sobre estas propriedades, consulte a documentação de propriedades do cabeçalho de transporte.
  4. Emita as chamadas de método remoto no objeto Stub ou Call. Os valores dos cabeçalhos de transporte especificados são recuperados da mensagem de resposta e colocados no HashMap.
    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 null ou uma instância de um HashMap.
    • Todas as chaves HashMap devem ter um tipo de dados de cadeia, e as chaves não devem ser nulas.

Resultados

Você tem um serviço da Web JAX-RPC que pode receber cabeçalhos de transporte de mensagens de respostas recebidas.

Í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_retrievecookie
Nome do arquivo: twbs_retrievecookie.html