Anotações Web Services Addressing

A especificação WS-Addressing fornece mecanismos neutros de transporte para endereçar serviços da Web e facilitar endereçamento de ponta a ponta. Se você tiver um aplicativo JAX-WS poderá usar anotações Java em seu código para especificar o comportamento do WS-Addressing no tempo de execução.

É possível usar anotações WS-Addressing para ativar o suporte do WS-Addressing, especificar se as informações do WS-Addressing são necessárias nas mensagens recebidas, controlar o padrão de troca de mensagens que o serviço suporta e especificar ações a serem associadas a uma operação do serviço da Web ou resposta com falha.

As anotações WS-Addressing a seguir são suportadas no WebSphere Application Server. Essas anotações são definidas na especificação JAX-WS 2.2 a menos que informado de outra forma. A especificação JAX-WS 2.2 suplanta e inclui funções dentro da especificação JAX-WS 2.1. Consulte a especificação Java API for XML-Based Web Services 2.2 para obter detalhes completos.
javax.xml.ws.Action
Especifica a ação que está associada a uma operação de serviço da Web.
  • Ao seguir uma abordagem ascendente para o desenvolvimento de serviços da Web JAX-WS, é possível gerar um documento WSDL a partir do código de aplicativo Java usando a ferramenta da linha de comandos wsgen. Entretanto, para que esse atributo seja incluído na operação WSDL, você também deve especificar a anotação @Addressing na classe de implementação. O resultado no documento WSDL gerado é que as anotações Action terão o atributo wsam:Action nos elementos input message e output message do wsdl:operation. Como alternativa, se você não deseja usar a anotação @Addressing, poderá fornecer seu próprio documento WSDL com o atributo Action já definido.
  • Ao seguir uma abordagem descendente para o desenvolvimento de serviços da Web JAX-WS, é possível gerar o código de aplicativo Java a partir de um documento WSDL existente usando a ferramenta da linha de comandos wsimport. Nesses casos, o código Java resultante conterá as anotações Action e FaultAction corretas.
Se esta ação não for especificada nas anotações do código ou no documento WSDL, o padrão de ação padrão conforme definido naespecificação Web Services Addressing 1.0 Metadata é usado. Consulte esta especificação para obter detalhes completos.
Nota: Enquanto o ambiente de tempo de execução do WebSphere Application Server suporta o atributo wsaw:Action descontinuado, se você tentar gerar o código Java a partir de um documento WSDL antigo contendo o atributo wsaw:Action descontinuado, este atributo será ignorado.
javax.xml.ws.FaultAction
Especifica a ação que é incluída em uma resposta falha. Ao usar essa anotação com um método específico, o atributo de extensão FaultAction do WS-Addressing é incluído no elemento de falha da operação WSDL correspondente a esse método. Para este atributo ser incluído na operação WSDL, você também deve especificar a anotação Addressing na classe de implementação. Se você não quiser utilizar a anotação Addressing, poderá fornecer ao seu próprio documento WSDL o atributo Action já definido. Essa anotação deve estar contida em uma anotação Action.
Os documentos WSDL gerados a partir do código do aplicativo Java contendo a anotação FaultAction do WS-Addressing terão o atributo wsam:Action no elemento fault message da wsdl:operation.
Nota: Para garantir que quaisquer classes de Exceção customizadas gravadas sejam mapeadas de forma bem-sucedida para o documento WSDL gerado, estenda a classe java.lang.Exception em vez da classe java.lang.RuntimeException.
javax.xml.ws.soap.Addressing
Especifica que esse serviço deseja ativar o suporte de WS-Addressing. Você pode utilizar essa anotação somente no bean de implementação de serviço; não é possível utilizá-la na interface com o terminal de serviço.
com.ibm.websphere.wsaddressing.jaxws21.SubmissionAddressing
Essa anotação é parte da implementação IBM da especificação JAX-WS. Esta anotação especifica que este serviço deve ativar o suporte ao WS-Addressing para a especificação 2004/08 WS-Addressing. Você pode utilizar essa anotação somente no bean de implementação de serviço; não é possível utilizá-la na interface com o terminal de serviço.

Para obter informações adicionais sobre as anotações Addressing e SubmissionAddressing, incluindo exemplos de códigos, consulte Ativando o Suporte do Web Services Addressing para Aplicativos JAX-WS Usando Anotações de Endereçamento.

O código de exemplo a seguir utiliza a anotação Action para definir a operação de chamada a ser invocada (input), e a ação a ser incluída na mensagem de resposta (output). O exemplo utiliza também a anotação FaultAction para especificar a ação que será incluída em uma mensagem de resposta se uma falha ocorrer:
@WebService(name = "Calculator")
public interface Calculator {
   ...
  	 @Action(
      input="http://calculator.com/inputAction",
      output="http://calculator.com/outputAction",
      fault = { @FaultAction(className=AddNumbersException.class, 
                value="http://calculator.com/faultAction") 
      }
   )
   public int add(int value1, int value2) throws AddNumbersException {
      return value1 + value2;
   }
}
Se você usar uma ferramenta para gerar artefatos de serviços a partir do código, as tags WSDL que são geradas a partir do exemplo anterior são como a seguir:
<definitions targetNamespace="http://example.com/numbers" ...>
   ...
   <portType name="AddPortType">
      <operation name="Add">
         <input message="tns:AddInput" name="Parameters"
                         wsam:Action="http://calculator.com/inputAction"/>
         <output message="tns:AddOutput" name="Result"
           	               wsam:Action="http://calculator.com/outputAction"/>
         <fault message="tns:AddNumbersException" name="AddNumbersException"
           	              wsam:Action="http://calculator.com/faultAction"/>
      </operation>
    <portType>
    ...
<definitions>

Ícone que indica o tipo de tópico Tópico de Conceito



Í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=cwbs_wsa_annots
Nome do arquivo: cwbs_wsa_annots.html