Para aplicativos JAX-WS, é possível ativar o suporte do WS-Addressing durante o empacotamento de um serviço ou
aplicativo cliente, editando o descritor de implementação para esse aplicativo.
Sobre Esta Tarefa
Para modificar o comportamento do WS-Addressing usando descritores de implementação, inclua um elemento
<addressing> no arquivo do descritor de implementação para o aplicativo. O elemento
<addressing> possui elementos filhos opcionais, conforme descrito na tabela a seguir.
O
elemento <addressing> funciona da mesma forma que a anotação Addressing. Os elementos filhos da
anotação <addressing> funcionam da mesma forma que os parâmetros da anotação Addressing.
Tabela 1. Elementos filhos do elemento do descritor de implementação addressing. A tabela lista os diferentes elementos filhos com seus possíveis valores e uma descrição de cada um.Nome do Elemento |
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 |
Tudo (padrão)
ANÔNIMO
NÃO_ANÔNIMO
|
Se usar um padrão de troca de mensagens síncrono ou assíncrono. Especifique
ANONYMOUS para enviar mensagens em um padrão de mensagem síncrona; use NON_ANONYMOUS
para enviar mensagens em um padrão de troca de mensagens assíncronas. |
Procedimento
- Para modificar o comportamento do suporte do WS-Addressing no aplicativo de serviço, inclua o elemento
<addressing>, e elementos filhos opcionais conforme necessário, para o descritor de implementação
de serviço sob o elemento <port-component> dentro do elemento
<webservice-description>. No exemplo a seguir, o fragmento do descritor de implementação Addressing especifica que WS-Addressing está
ativado e é necessário, e que o padrão de troca de mensagens assíncronas é usado.
<port-component>
<port-component-name>MyPort1</port-component-name>
<addressing>
<enabled>true</enabled>
<required>true</required>
<responses>NON_ANONYMOUS</responses>
</addressing>
<service-impl-bean>
<servlet-link>MyPort1ImplBean</servlet-link>
</service-impl-bean>
</port-component>
- Para modificar o comportamento do suporte do WS-Addressing no aplicativo cliente, inclua o elemento
<addressing>, e elementos filhos opcionais conforme necessário, para o descritor de implementação
de cliente sob o elemento <port-component-ref> dentro do elemento
<service-ref>. Por exemplo, o fragmento do descritor de implementação a seguir indica que o WS-Addressing está ativado:
<service-ref>
<service-ref-name>service/MyPortComponentRef</service-ref-name>
<service-interface>com.example.MyService</service-ref-interface>
<port-component-ref>
<service-endpoint-interface>com.example.MyPortType</service-endpoint-interface>
<addressing>
<enabled>true</enabled>
</addressing>
</port-component-ref>
</service-ref>
Resultados
As propriedades do WS-Addressing estão agora incluídas no cabeçalho da mensagem SOAP
e são processadas pelo servidor no recebimento da mensagem.