Ativando o Suporte do Web Services Addressing para Aplicativos JAX-WS Usando Anotações de Endereçamento

Para aplicativos JAX-WS, é possível ativar o suporte do WS-Addressing durante o desenvolvimento de um aplicativo de serviço, usando anotações de endereçamento no código. Também é possível usar este método em um aplicativo cliente que usa uma referência de proxy do serviço da Web injetada.

Sobre Esta Tarefa

Use uma das seguintes anotações de endereçamento em seu código de serviço:
  • Addressing - use esta anotação se você deseja usar a especificação 2005/08 WS-Addressing.
  • SubmissionAddressing - use esta anotação se desejar usar a especificação 2004/08 WS-Addressing.
Nos clientes, use apenas a anotação Addressing; a anotação SubmissionAddressing não é suportada. Você deve especificar a anotação Addressing em combinação com a anotação WebServiceRef. A anotação WebServiceRef especifica uma referência para o proxy de serviço da Web que é injetada pelo contêiner do cliente.

As configurações de anotação substituem as configurações no documento WSDL. As configurações de anotação poderão diferir das configurações do WSDL se você criar o documento WSDL manualmente em vez de gerá-lo do código.

Especifique até três parâmetros opcionais para cada anotação:
Tabela 1. Parâmetros para as anotações de endereçamento. A tabela lista os diferentes parâmetros com 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íncrona; use Responses.NON_ANONYMOUS para enviar mensagens em um padrão de troca de mensagens assíncronas.
Nota: Este parâmetro não é suportado na anotação SubmissionAddressing.
Nota: É possível usar a anotação Addressing apenas 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

Resultados

Se você usar uma anotação de endereçamento no aplicativo de serviço, o servidor processará quaisquer cabeçalhos WS-Addressing que estiverem em conformidade com a especificação relevante nas mensagens SOAP de entrada. Se você especificar que o WS-Addressing é necessário, e uma mensagem SOAP de entrada não incluir nenhum cabeçalho do WS-Addressing, ou incluir cabeçalhos do WS-Addressing que não estão em conformidade com a especificação indicada pela anotação, o servidor retornará uma mensagem de falha. Por exemplo, se um cliente enviar uma mensagem que inclui cabeçalhos 2004/08 WS-Addressing, e o servidor exigir cabeçalhos 2005/08, o servidor retornará uma mensagem de falha.

Se você usar a anotação Addressing e gerar um documento WSDL a partir do código, um elemento UsingAddressing e as asserções WS-Policy são criados no documento WSDL. Clientes que utilizam esse documento WSDL incluirão informações do WS-Addressing em suas mensagens. A anotação SubmissionAddressing não é entendida pelas ferramentas de geração WSDL atuais. No entanto, o documento WSDL não distingue entre a especificação 2005/08 e a especificação 2004/08, portanto, se desejar gerar um documento WSDL a partir do código que contém uma anotação SubmissionAddressing, use as anotações Addressing e SubmissionAddressing juntas.

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_annot
Nome do arquivo: twbs_wsa_dep_jaxws_annot.html