Ativando o Suporte de Endereçamento de Serviços da Web para Aplicativos JAX-WS
O suporte do Web Services Addressing (WS-Addressing) fornece mecanismos para endereçar serviços da Web e fornece informações de endereçamento em mensagens. Para aplicativos JAX-WS, você pode ativar o suporte WS-Addressing de várias maneiras diferentes, como configurar conjuntos de política ou usar anotações em código.
Sobre Esta Tarefa
Desempenhe esta tarefa para ativar o suporte do WS-Addressing, como um fornecedor de serviços ou como um cliente de um serviço fornecido por outra parte.
- Modifique o comportamento do suporte do WS-Addressing depois que o aplicativo for implementado anexando um conjunto de política ao aplicativo. No conjunto de política, é possível configurar o tipo de política do WS-Addressing para especificar se as informações do WS-Addressing são obrigatórias nas mensagens que chegam, e se utiliza o sistema de mensagens síncronas ou assíncronas. É possível comunicar a configuração de política WS-Addressing para outros servidores e clientes que suportam o WS-Policy, ativando o compartilhamento de política no servidor e aplicando a política de provedor no cliente. Este método substitui outros métodos.
- Use elementos do descritor de implementação dentro de um elemento port-component.
- Modifique o comportamento do suporte do WS-Addressing durante o desenvolvimento do serviço, usando as anotações Addressing ou SubmissionAddressing no código de serviço. Dentro de cada anotação é possível especificar se o WS-Addressing está ativado no servidor, se o servidor requer informações do WS-Addressing nas mensagens recebidas e o padrão de troca de mensagem que o servidor usará. A presença da anotação Endereçamento no código inclui um elemento UsingAddressing e uma asserção WS-Policy em qualquer documento WSDL que seja gerado para o serviço.
- Modifique o comportamento do suporte WS-Addressing durante o desenvolvimento do serviço ao incluir os elementos UsingAddressing ou as asserções WS-Policy no documento WSDL. Se você fornecer seu próprio documento WSDL, em vez de depender do ambiente de tempo de execução JAX-WS para gerar um, e seu documento WSDL estiver sendo consumido por aplicativos não JAX-WS 2.2, poderá desejar incluir o elemento UsingAddressing já que os clientes não processarão as asserções WS-Policy.
- Anexe um conjunto de política ao artefato do cliente e execute uma das
seguintes ações:
- Especifique na política se o WS-Addressing é obrigatório.
- Aplique políticas do cliente e do provedor. Neste caso, o suporte do WS-Addressing será ativado no cliente apenas se o compartilhamento de política estiver ativado no provedor de serviços e a configuração de política para o provedor especificar que o WS-Addressing é obrigatório.
- Configure a propriedade com.ibm.websphere.webservices.use.async.mep no contexto do pedido do cliente.
- Use o WS-Addressing SPI proprietário da IBM® para incluir propriedades de endereçamento de mensagens para o contexto de pedido de mensagem.
- Use elementos do descritor de implementação dentro de um elemento port-component-ref.
- Use a anotação Addressing em combinação com a anotação WebServiceRef no código do cliente (quando estiver usando uma referência proxy de serviços da Web injetada).
- Utilize os recursos de endereçamento no código do cliente. Propriedades configuradas usando esse método substituem essa configuração no documento WSDL para o serviço.
- Use as asserções WS-Policy no documento WSDL para especificar o suporte do WS-Addressing. Se incluir anotações Addressing no seu código do aplicativo cliente, o documento WSDL gerado conterá as asserções do WS-Policy.
- Especifique o elemento UsingAddressing no documento WSDL para o serviço. Se o serviço usar a anotação Addressing e você gerar o documento WSDL a partir do código, o elemento UsingAddressing já existirá.
As tabelas a seguir resumem o comportamento do suporte do WS-Addressing. Use essa tabela para determinar se uma mensagem de solicitação é aceita para as configurações do cliente para que não envolvam a configuração de política.
Configurações do Cliente | Configurações de política do provedor | Configurações de WSDL do provedor (atributo UsingAddressing required) | ||||||
---|---|---|---|---|---|---|---|---|
O WS-Addressing é opcional | WS-Addressing é obrigatório1 | |||||||
Síncrono e assíncrono | Apenas síncrono | Apenas assíncrono | Síncrono e assíncrono | Apenas síncrono | Apenas assíncrono | false (WS-Addressing é opcional) | true (WS-Addressing é obrigatório1) | |
Suporte ao WS-Addressing ativado e estilo de sistema de mensagens síncrono | Mensagem aceita | Mensagem aceita | Falha | Mensagem aceita | Mensagem aceita | Falha | Mensagem aceita | Mensagem aceita |
Suporte ao WS-Addressing ativado e estilo de sistema de mensagens assíncrono | Mensagem aceita | Falha | Mensagem aceita | Mensagem aceita | Falha | Mensagem aceita | Mensagem aceita | Mensagem aceita |
Suporte ao WS-Addressing não ativado e estilo de sistema de mensagens síncrono | Mensagem aceita | Mensagem aceita | Mensagem aceita2 | Falha | Falha | Falha | Mensagem aceita | Falha |
Suporte ao WS-Addressing não ativado e estilo de sistema de mensagens assíncrono 3 | Falha | Falha | Falha | Falha | Falha | Falha | Falha | Falha |
- Se o WS-Addressing for obrigatório, todos os pedidos sem cabeçalhos do WS-Addressing serão rejeitados.
- O estilo do sistema de mensagens será aplicado apenas se os cabeçalhos do WS-Addressing estiverem presentes no pedido.
- O sistema de mensagens assíncrono não é possível sem cabeçalhos do WS-Addressing.
Use a tabela a seguir para determinar se uma mensagem de solicitação é aceita quando o cliente e o provedor tiverem ambos uma configuração de política do WS-Addressing; o cliente possui provedor, as políticas do cliente são aplicadas e o compartilhamento de política é ativado no servidor.
Configurações de política do cliente | Configurações de política do provedor | |||||
---|---|---|---|---|---|---|
WS-Addressing é opcional | O WS-Addressing é Obrigatório | |||||
Síncrono e assíncrono | Apenas síncrono | Apenas assíncrono | Síncrono e assíncrono | Apenas síncrono | Apenas assíncrono | |
WS-Addressing opcional e estilo do sistema de mensagens síncrono e assíncrono | Mensagem aceita | Mensagem aceita | Mensagem aceita | Mensagem aceita | Mensagem aceita | Mensagem aceita |
WS-Addressing opcional e estilo do sistema de mensagens somente síncrono | Mensagem aceita | Mensagem aceita | Mensagem aceita1 | Mensagem aceita | Mensagem aceita | Falha |
WS-Addressing opcional e estilo do sistema de mensagens somente assíncrono2 | Falha | Falha | Falha | Mensagem aceita | Falha | Mensagem aceita |
WS-Addressing obrigatório e estilo do sistema de mensagens síncrono e assíncrono | Mensagem aceita | Mensagem aceita | Mensagem aceita | Mensagem aceita | Mensagem aceita | Mensagem aceita |
WS-Addressing obrigatório e estilo do sistema de mensagens somente síncrono | Mensagem aceita | Mensagem aceita | Falha | Mensagem aceita | Mensagem aceita | Falha |
WS-Addressing obrigatório e estilo do sistema de mensagens somente assíncrono | Mensagem aceita | Falha | Mensagem aceita | Mensagem aceita | Falha | Mensagem aceita |
- O estilo do sistema de mensagens será aplicado apenas se os cabeçalhos do WS-Addressing estiverem presentes no pedido.
- O sistema de mensagens assíncrono não é possível sem cabeçalhos do WS-Addressing.
Procedimento
- Para modificar o comportamento do suporte ao WS-Addressing criando ou modificando conjuntos de política no cliente ou provedor de serviço, consulte o tópico: Enabling Web Services Addressing support for JAX-WS applications using policy sets.
- Configure a propriedade com.ibm.websphere.webservices.use.async.mep no contexto do pedido do cliente usando os clientes do WebSphere Application Server para ativar o suporte ao WS-Addressing. Consulte o tópico: Chamando Serviços da Web JAX-WS Assincronicamente para obter mais informações.
- Para modificar o comportamento do suporte ao WS-Addressing usando o descritor de implementação do serviço ou aplicativo cliente, consulte o tópico: Ativando o Suporte do Web Services Addressing para Aplicativos JAX-WS Usando Descritores de Implementação.
- Para modificar o comportamento do suporte ao WS-Addressing programaticamente usando anotações de endereçamento no servidor de aplicativos, ou no cliente com uma referência proxy de serviço da Web injetada, consulte o tópico: Ativando o Suporte do Web Services Addressing para Aplicativos JAX-WS Usando Anotações de Endereçamento.
- Para ativar o suporte ao WS-Addressing programaticamente no cliente criando uma instância de uma classe de recurso de endereçamento, consulte o tópico: Ativando o Suporte de Endereçamento de Serviços da Web para Aplicativos JAX-WS Usando Recursos de Endereçamento.
- Para modificar o comportamento do suporte do WS-Addressing durante o desenvolvimento de um aplicativo cliente ou de serviço ao incluir as asserções do WS-Policy no arquivo WSDL, consulte o tópico: Ativando o Suporte do Web Services Addressing para Aplicativos JAX-WS Usando WS-Policy.
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.