Ativando o Suporte de Endereçamento de Serviços da Web para Aplicativos JAX-WS Usando Recursos de Endereçamento

Para aplicativos JAX-WS, é possível ativar o suporte WS-Addressing durante a implementação de um aplicativo cliente, usando os recursos de endereçamento no código.

Sobre Esta Tarefa

Use uma das seguintes classes de recurso de endereçamento em seu código do cliente:
  • AddressingFeature - use esta classe se desejar enviar mensagens que incluem cabeçalhos do WS-Addressing que estão em conformidade com a especificação 2005/08 WS-Addressing
  • SubmissionAddressingFeature - use esta classe se desejar enviar mensagens que incluem cabeçalhos do WS-Addressing que estão em conformidade com a especificação 2004/08 WS-Addressing
Se você utilizar ambas as classes de recursos, a especificação que será utilizada dependerá do tipo de referência de terminal que você também especificar. Por exemplo, se você especificar um objeto W3CEndpointReference, a especificação usada será a especificação 2005/08. Se você especificar uma referência de terminal cujo tipo entra em conflito com o indicado pela classe de recurso, por exemplo, um objeto W3CEndpointReference com uma instância SubmissionAddressingFeature, será lançado um erro. Se você não especificar uma referência de terminal, a especificação padrão será a 2005/08.
Especifique até três parâmetros opcionais para cada instância do recurso de endereçamento:
Tabela 1. Parâmetros para o Recursos de Endereçamento. A tabela lista os parâmetros diferentes do recurso de endereçamento, assim como seus possíveis valores e uma descrição de cada um.
Nome do parâmetro Valores possíveis Description
ativada

true (padrão)
false

Se o suporte do WS-Addressing está ativado.
obrigatório

verdadeiro
falso (padrão)

Se cabeçalhos do WS-Addressing são necessários.
respostas

Responses.All (padrão)
Responses.ANONYMOUS
Responses.NON_ANONYMOUS

Se usar um padrão de troca de mensagens síncrono ou assíncrono. Especifique Responses.ANONYMOUS para enviar mensagens em um padrão de mensagem síncrono; use Responses.NON_ANONYMOUS para enviar mensagens em um padrão de troca de mensagens assíncrono.
Nota: Este parâmetro não é suportado para a classe SubmissionAddressingFeature.
Nota: Você pode utilizar as classes de recursos de endereçamento somente com uma ligação SOAP (1.1 ou 1.2) sobre HTTP. Se você usar a classe com outra ligação, como XML sobre HTTP, uma exceção será emitida nos clientes, e nos servidores em que a implementação do serviço da Web falhar.

Procedimento

Crie uma instância de uma das classes de recurso de endereçamento, com os parâmetros, conforme necessário. Por exemplo, para especificar que o WS-Addressing está ativado e é necessário, e que a especificação 2005/08 e o padrão de troca de mensagens assíncrono são usados, use o seguinte código:
AddressingFeature feat = new AddressingFeature(true, true, AddressingFeature.Responses.NON_ANONYMOUS);
Para especificar que o WS-Addressing é desativado para a especificação 2004/08, utilize o seguinte código:
SubmissionAddressingFeature feat = new SubmissionAddressingFeature(false);

Resultados

Se você especificar que o WS-Addressing é ativado, o cliente incluirá cabeçalhos do WS-Addressing nas mensagens SOAP. Os cabeçalhos estão em conformidade com a especificação WS-Addressing indicada pelo tipo de classe de recurso utilizado. Se o servidor não utilizar anotações, ou usar conjuntos de política para ativar o WS-Addressing, o servidor aceitará as especificações 2005/08 e 2004/08.

Se você especificar que o WS-Addressing é necessário e que o cliente recebe uma mensagem que não inclua os cabeçalhos WS-Addressing, o cliente retornará um falha.

Se você especificar o atributo de respostas, o padrão de troca de mensagens correspondente será usado.


Í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_wsa_dep_jaxws_feat
Nome do arquivo: twbs_wsa_dep_jaxws_feat.html