Anotações do JAX-WS

A JAX-WS (Java™ API for XML-Based Web Services) depende do uso de anotações para especificar metadados associados às implementações de serviços da Web e para simplificar o desenvolvimento de serviços da Web. As anotações descrevem como uma implementação de serviço do lado do servidor é acessada como um serviço da Web ou como uma classe Java do lado do cliente acessa os serviços da Web.

O padrão de programação JAX-WS introduz suporte para as classes Java de anotação com metadados que são usados para definir um aplicativo de terminal de serviço como um serviço da Web e como um cliente pode acessar o serviço da Web. O JAX-WS suporta o uso de anotações baseadas no Recurso de Metadados da especificação Java Programming Language (JSR (Java Specification Request) 175), nos Metadados de Serviços da Web da especificação Java Platform (JSR 181) e nas anotações definidas pela especificação JAX-WS 2.0 e posterior (JSR 224) que inclui as anotações do JAXB. Usando as anotações a partir do padrão JSR 181, é possível apenas anotar a classe de implementação de serviço ou a interface de serviço e como o aplicativo é ativado como um serviço da Web. A utilização de anotações dentro da origem Java simplifica o desenvolvimento e a implementação de serviços da Web pela definição de algumas das informações adicionais que são tipicamente obtidas a partir de arquivos descritores de implementação, arquivos WSDL ou metadados de mapeamento a partir de XML e WSDL em artefatos de origem.

Utilize anotações para configurar ligações, cadeias de manipulador, nomes de portType, serviço e outros parâmetros WSDL. Anotações são usadas no mapeamento Java para WSDL e no esquema e no tempo de execução para controlar como o tempo de execução JAX-WS processa e responde às chamadas de serviço da Web.

Para serviços da web JAX-WS, o uso do descritor de implementação webservices.xml é opcional porque é possível usar anotações para especificar todas as informações que estão contidas dentro do arquivo do descritor de implementação. É possível utilizar o arquivo do descritor de implementação para aumentar ou substituir anotações JAX-WS existentes. Qualquer informação definida no descritor de implementação webservices.xml substitui quaisquer informações correspondentes especificadas pelas anotações.

A partir do WebSphere Application Server Versão 7.0 e mais recentes, os módulos do aplicativo Java EE 5 (módulos do aplicativo da web versão 2.5 ou mais recente ou módulos EJB versão 3.0 ou mais recente) são varridos para verificar anotações para identificar serviços e clientes JAX-WS. Entretanto, os módulos aplicativos pré-Java EE 5 (módulos aplicativos da Web versão 2.4 ou anterior, ou módulos EJB versão 2.1 ou anterior) não são varridos para localizar anotações JAX-WS, por padrão, por contraprestações de desempenho.

No Feature Pack Versão 6.1 para Serviços da Web, o comportamento padrão é fazer a varredura de módulos aplicativos da Web pré-Java Platform, Enterprise Edition (Java EE) 5 para identificar serviços JAX-WS e para fazer a varredura de módulos aplicativos da Web pré-Java EE 5 e módulos EJB para clientes de serviço durante a instalação do aplicativo. Como o comportamento padrão para o WebSphere Application Server Versão 7.0 e posterior é não fazer a varredura de anotações nos módulos pré-Java EE 5 durante a instalação do aplicativo ou inicialização do servidor, para preservar a compatibilidade com as versões anteriores do feature pack a partir de liberações anteriores, você deve configurar uma das seguintes propriedades:
  • A propriedade UseWSFEP61ScanPolicy pode ser configurada no META-INF/MANIFEST.MF de um arquivo WAR ou módulo EJB como true. Exemplo:
    Versão do Manifest: 1.0
    UseWSFEP61ScanPolicy: true
    Se essa propriedade estiver configurada como true no arquivo META-INF/MANIFEST.MF do módulo, o módulo será varrido para localizar anotações de JAX-WS, independentemente da versão Java EE do módulo. O valor padrão é false e quando o valor padrão está em vigor, as anotações JAX-WS são suportadas apenas em módulos cuja versão é Java EE 5 ou posterior.
  • É possível configurar a propriedade customizada JVM (Java Virtual Machine) com.ibm.websphere.webservices.UseWSFEP61ScanPolicy utilizando o console administrativo. Consulte a documentação das propriedades customizadas JVM para obter o caminho de navegação correto a ser utilizado. Para solicitar varredura de anotações em todos os módulos, independentemente da versão do Java EE, configure a propriedade customizada com.ibm.websphere.webservices.UseWSFEP61ScanPolicy como true. Você deve alterar a configuração em cada servidor que requeira uma mudança no comportamento padrão.
Se a propriedade for configurada no arquivo META-INF/MANIFEST.MF do módulo, essa configuração terá prioridade sobre a propriedade JVM customizada do servidor. Ao usar uma das propriedades, é necessário estabelecer o comportamento de varredura de anotação desejado antes da instalação do aplicativo. Não é possível alterar dinamicamente o comportamento da varredura após a instalação de um aplicativo. Se for necessário alterar o comportamento após a instalação do aplicativo, desinstale o aplicativo antes, especifique o comportamento de varredura desejado utilizando a propriedade adequada e, em seguida, instale o aplicativo novamente. Ao associar os nós que possuem com.ibm.websphere.webservices.UseWSFEP61ScanPolicy configurada como true na configuração dos servidores contidos no nó, essa propriedade não afetará o gerenciador de implementação. Será necessário configurar a propriedade como true no gerenciador de implementação antes de o nó ser associado, para preservar o comportamento anterior do nó antes da federação.
[z/OS]
Evitar Problemas Evitar Problemas: Se a propriedade dessa JVM estiver sendo utilizada na plataforma z/OS, ela deverá ser configurada no servant e nas regiões de controle do servidor. gotcha
Evitar Problemas Evitar Problemas: A associação dos nós que possuem com.ibm.websphere.webservices.UseWSFEP61ScanPolicy configurada como true na configuração dos servidores contidos no nó não afeta o gerenciador de implementação. Será necessário configurar a propriedade como true no gerenciador de implementação antes de o nó ser associado, para preservar o comportamento anterior do nó antes da federação.gotcha
As anotações suportadas pelo JAX-WS são listadas na tabela a seguir. O destino para anotações é aplicável para esses objetosJava:
  • tipos como uma classeJava, numeração ou interface
  • métodos
  • campos que representam as variáveis locais dentro de uma classe Java
  • parâmetros em um métodoJava
Tabela 1. Anotações de Metadados de Serviços da Web (JSR 181). Descreve as anotações de metadados de serviços da Web suportadas e suas propriedades associadas.
Classe de anotação Anotação Propriedades
javax.jws. WebService A anotação @WebService marca uma classe Java como uma implementação de um serviço da Web ou marca uma Service Endpoint Interface (SEI) como uma implementação de uma interface de serviço da Web.
Importante:
  • Uma classe Java que implementa um serviço da web deve especificar a anotação @WebService ou @WebServiceProvider. Não é possível utilizar as duas anotações simultaneamente. Essa anotação é aplicável em uma SEI de cliente ou servidor ou em uma classe de implementação de terminal do servidor.
  • Se a anotação fizer referência a um SEI através do atributo endpointInterface, o SEI também deverá ser anotado com a anotação @WebService.
  • Consulte os métodos de exposição nas informações do serviço da web JAX-WS baseadas em SEI para saber sobre as melhores práticas para usar as anotações @WebService e @WebMethod em uma implementação de terminal em serviço para especificar os métodos Java que deseja expor como serviços da web JAX-WS.
  • Destino da anotação: Tipo
  • Propriedades:
    - name
    O nome de wsdl:portType. O valor padrão é o nome não qualificado da classe ou interface Java. (String)
    - targetNamespace
    Especifica o namespace XML dos elementos WSDL e XML gerados a partir do serviço da Web. O valor padrão é o namespace mapeado a partir do nome do pacote contendo o serviço da Web. (String)
    - serviceName
    Especifica o nome do serviço do serviço da Web: wsdl:service. O valor padrão é o nome simples da classe Java + Serviço. (String)
    - endpointInterface
    Especifica o nome qualificado da interface de terminal de serviço que define o contrato do serviço da Web abstrato do serviço. Se especificada, a interface de terminal em serviço será utilizada para determinar o contrato de WSDL abstrato. (String)
    - portName
    O wsdl:portName. O valor padrão é WebService.name +Port . (String)
    - wsdlLocation
    Especifica o endereço da web do documento WSDL que define o serviço da web. O endereço da Web é relativo ou absoluto. (String)
javax.jws. WebMethod A anotação @WebMethod denota um método que é uma operação de serviço da Web.

Aplique esta anotação aos métodos em um SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

  • Destino da anotação: Método
  • Propriedades:
    - operationName
    Especifica o nome de wsdl:operation que corresponde a esse método. O valor padrão é o nome do métodoJava. (Sequência)
    - action
    Define a ação para essa operação. Para ligações SOAP, esse valor determina o valor do título SOAPAction e deve ser configurado explicitamente.
    - exclude
    Especifica se um método deve ser excluído do serviço da Web. O valor padrão é false. (Boolean)
javax.jws. Oneway A anotação @Oneway denota um método como uma operação unidirecional de serviço da Web que possui apenas uma mensagem de entrada e nenhuma mensagem de saída.

Aplique esta anotação aos métodos em um SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

  • Destino da anotação: Método
  • Não há propriedades na anotação Oneway.
javax.jws. WebParam A anotação @WebParam customiza o mapeamento de um parâmetro individual para uma parte de mensagem para um elemento XML de serviço da Web.

Aplique esta anotação aos métodos em um SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

  • Destino da anotação: Parameter
  • Propriedades:
    - name
    O nome do parâmetro. Se a operação for estilo RPC (Chamada de Procedimento Remoto) e o atributo partName não for especificado, este será o nome do atributo wsdl:part que representa o parâmetro. Se a operação for estilo documento ou o parâmetro mapear para um cabeçalho, -name será o nome local do elemento XML que representa o parâmetro. Esse atributo será obrigatório se a operação for estilo documento, o estilo do parâmetro for BARE e o modo for OUT ou INOUT. (Sequência)
    - partName
    Define o nome do atributo wsdl:part que representa esse parâmetro. Esse atributo será utilizado apenas se a operação for estilo RPC ou se for estilo documento e o estilo do parâmetro for BARE. (String)
    - targetNamespace
    Especifica o espaço de nomes XML do elemento XML referente ao parâmetro. Aplica-se apenas para ligações de documento quando o atributo mapeia para um elemento XML. O valor padrão é o targetNamespace para o serviço da Web. (Sequência)
    - mode
    O valor representa a direção que o parâmetro flui para esse método. Os valores válidos são IN, INOUT e OUT. (Sequência)
    - header
    Especifica se o parâmetro está em um cabeçalho da mensagem, em vez de em um corpo da mensagem. O valor padrão é false. (Boolean)
javax.jws. WebResult A anotação @WebResult customiza o mapeamento de um valor de retorno para uma parte WSDL ou um elemento XML.

Aplique esta anotação aos métodos em um SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

  • Destino da anotação: Método
  • Propriedades:
    - name
    Especifica o nome do valor de retorno como ele está listado no arquivo WSDL e como é encontrado nas mensagens da conexão. Para ligações RPC, esse é o nome do atributo wsdl:part que representa o valor de retorno. Para ligações de documento, o parâmetro -name é o nome local do elemento XML que representa o valor de retorno. O valor padrão é return para ligações RPC e DOCUMENT/WRAPPED. O valor padrão é o nome do método + Response para ligações DOCUMENT/BARE. (Sequência)
    - targetNamespace
    Especifica o espaço de nomes XML para o valor de retorno. Esse parâmetro será utilizado apenas se a operação for estilo RPC ou se for estilo DOCUMENT e o estilo do parâmetro for BARE. (String)
    - header
    Especifica se o resultado está contido em um cabeçalho. O valor padrão é false. (Boolean)
    - partName
    Especifica o nome da parte para o resultado com operações RPC ou DOCUMENT/BARE. O valor padrão é @WebResult.name. (Sequência)
javax.jws. HandlerChain A anotação @HandlerChain associa o serviço da Web a uma cadeia manipuladora definida externamente.

Só é possível configurar o manipulador do lado do servidor utilizando a anotação @HandlerChain na SEI (Service Endpoint Interface) ou na classe de implementação do terminal do servidor.

Utilize uma das diversas maneiras de configurar um manipulador no cliente. É possível configurar um manipulador no cliente utilizando a anotação @HandlerChain na classe de serviço gerada ou na SEI. Além disso, você pode registrar programaticamente sua própria implementação da interface HandlerResolver no Service ou configurar programaticamente a cadeia de manipuladores no objeto Binding.

  • Destino da anotação: Tipo
  • Propriedades:
    - file
    Especifica o local do arquivo da cadeia de manipuladores. O local do arquivo é um java.net.URL absoluto em formato externo ou um caminho relativo do arquivo de classe. (Cadeia)
    - name
    Especifica o nome da cadeia de manipuladores no arquivo de configuração. (Sequência)
javax.jws. SOAPBinding A anotação @SOAPBinding especifica o mapeamento do serviço da Web no protocolo de mensagem SOAP.

Aplique essa anotação a um tipo ou a métodos em uma SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

A anotação do nível de método é limitada em o que ela pode especificar e será utilizada apenas se a propriedade style for DOCUMENT. Se a anotação de nível do método não for especificada, será utilizado o comportamento @SOAPBinding do tipo.

  • Destino da anotação: Tipo ou Método
  • Propriedades:
    - style
    Define o estilo de codificação para mensagens enviadas para o e do serviço da Web. Os valores válidos são DOCUMENT e RPC. O valor padrão é DOCUMENT. (Sequência)
    - use
    Define a formatação usada para mensagens enviadas para o e do serviço da Web. O valor padrão é LITERAL. ENCODED não é suportado. (String)
    - parameterStyle
    Determina se os parâmetros do método representam o corpo da mensagem inteiro ou se os parâmetros são elementos agrupados dentro de um elemento de nível superior denominado após a operação. Os valores válidos são WRAPPED ou BARE. O valor BARE pode ser utilizado apenas com ligações do estilo DOCUMENT. O valor padrão é WRAPPED. (Sequência)

Tabela 2. Anotações de JAX-WS (JSR 224). Descreve as anotações JAX-WS suportadas e suas propriedades associadas.
Classe de anotação Anotação Propriedades
javax.xml.ws. Action A anotação @Action especifica a ação de WS-Addressing associada a uma operação de serviço da Web.

Ao usar essa anotação com um método específico e gerar o documento WSDL correspondente, o atributo de extensão Action do WS-Addressing é incluído nos elementos de entrada e saída da operação WSDL correspondente a esse método.

Para incluir esse atributo na operação WSDL, também será necessário especificar a anotação @Addressing na classe de implementação do terminal do servidor. Se não quiser usar a anotação @Addressing, poderá fornecer seu próprio documento WSDL com o atributo Action já definido.

  • Destino da anotação: Método
  • Propriedades:
    - fault
    Especifica a matriz de FaultAction do wsdl:fault da operação. (Sequência)
    - input
    Especifica a ação do wsdl:input da operação. (Sequência)
    - output
    Especifica a ação do wsdl:output da operação. (Sequência)
javax.xml.ws. BindingType A anotação @BindingType especifica a ligação a ser utilizada ao publicar um terminal desse tipo.

Aplique essa anotação a uma classe de implementação de terminal do servidor.

Importante: É possível usar a anotação @BindingType na classe de implementação do terminal do JavaBeans para ativar o MTOM especificando javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING ou javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING como o valor para a anotação.
  • Destino da anotação: Tipo
  • Propriedades:
    - value
    Indica o endereço da Web do identificador de ligação. Os valores válidos são javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING e javax.xml.ws.http.HTTPBinding.HTTP2HTTP_BINDING. O valor padrão é javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING. (Sequência)
javax.xml.ws. FaultAction A anotação @FaultAction especifica a ação de WS-Addressing incluída em uma resposta de falha.

Essa anotação deve estar contida em uma anotação @Action.

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 incluir esse atributo na operação WSDL, também será necessário especificar a anotação @Addressing na classe de implementação do terminal do servidor. Se não quiser usar a anotação @Addressing, poderá fornecer seu próprio documento WSDL com o atributo Action já definido.

  • Destino da anotação: Método
  • Propriedades:
    - value
    Especifica a ação do wsdl:fault da operação. (Sequência)
    - output
    Especifica o nome da classe de exceção. (Sequência)
    - className
    Especifica o nome da classe que representa o wrapper de pedido. (String)
javax.xml.ws. RequestWrapper A anotação @RequestWrapper fornece o bean do wrapper de pedido gerado pelo JAXB, o nome de elemento e o espaço de nomes para serialização e desserialização com o bean do wrapper de pedido utilizado em tempo de execução.

Ao começar com um objetoJava, esse elemento é utilizado para resolver conflitos de sobrecarga no modo literal do documento. Somente o atributo className é necessário neste caso.

Aplique esta anotação aos métodos em um SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

  • Destino da anotação: Método
  • Propriedades:
    - localName
    Especifica o nome local do elemento do esquema XML que representa o wrapper de pedido. O valor padrão é operationName, conforme definido na anotação javax.jws.WebMethod. (Sequência)
    - targetNamespace
    Especifica o espaço de nomes XML do método do wrapper de pedido. O valor padrão é o espaço de nomes de destino da SEI. (Sequência)
    - className
    Especifica o nome da classe que representa o wrapper de pedido. (Sequência)
    - partName
    Especifica o nome do atributo wsdl:part que representa o elemento de esquema XML para a classe RequestWrapper. Essa propriedade é aplicável para o JAX-WS 2.2 e superior. (Sequência)
javax.xml.ws. ResponseWrapper A anotação @ResponseWrapper fornece o bean do wrapper de resposta gerado pelo JAXB, o nome de elemento e o espaço de nomes para serialização e desserialização com o bean do wrapper de resposta utilizado em tempo de execução.

Ao começar com um objetoJava, esse elemento é utilizado para resolver conflitos de sobrecarga no modo literal do documento. Somente o atributo className é necessário neste caso.

Aplique esta anotação aos métodos em um SEI (Service Endpoint Interface) de cliente ou servidor ou em uma classe de implementação de terminal de servidor.

  • Destino da anotação: Método
  • Propriedades:
    - localName
    Especifica o nome local do elemento do esquema XML que representa o wrapper de pedido. O valor padrão é o operationName + Response. operationName é definido na anotação javax.jws.WebMethod. (Sequência)
    - targetNamespace
    Especifica o espaço de nomes XML do método do wrapper de pedido. O valor padrão é o espaço de nomes de destino da SEI. (Sequência)
    - className
    Especifica o nome da classe que representa o wrapper de resposta. (Sequência)
    - partName
    Especifica o nome do atributo wsdl:part que representa o elemento de esquema XML para a classe ResponseWrapper. Essa propriedade é aplicável para o JAX-WS 2.2 e superior. (Sequência)
javax.xml.ws. RespectBinding A anotação @RespectBinding especifica se a implementação JAX-WS deve usar o conteúdo do wsdl:binding para um terminal.

Quando essa anotação é especificada, é executada uma verificação para assegurar que todos os elementos de extensibilidade WSDL necessários com o atributo ativado configurado como true sejam suportados.

Aplique esta anotação para métodos em uma classe de implementação de terminal do servidor.

  • Destino da anotação: Método
  • Propriedades:
    - enabled
    Especifica se o wsdl:binding deve ser utilizado ou não. O valor padrão é verdadeiro. (Boolean)
javax.xml.ws. ServiceMode A anotação @ServiceMode especifica se um provedor de serviços precisa ter acesso a uma mensagem de protocolo inteira ou apenas à carga útil da mensagem.
Importante: A anotação @ServiceMode é suportada apenas nas classes anotadas com a anotação @WebServiceProvider.
  • Destino da anotação: Tipo
  • Propriedades:
    - value
    Indica se a classe do provedor aceita a carga útil da mensagem, PAYLOAD, ou a mensagem inteira, MESSAGE. O valor padrão é PAYLOAD. (Sequência)
javax.xml.ws. soap.Addressing A anotação @Addressing especifica que esse serviço quer ativar o suporte ao WS-Addressing.

Aplique esta anotação para métodos em uma classe de implementação de terminal do servidor.

  • Destino da anotação: Tipo
  • Propriedades:
    - enabled
    Especifica se o WS-Addressing está ativado ou não. O valor padrão é verdadeiro. (Boolean)
    - required
    Especifica se os cabeçalhos do WS-Addressing devem estar presentes em mensagens que chegam. O valor padrão é false. (Boolean)
    - responses
    Especifica o padrão de troca de mensagem a ser usada. O valor padrão é Responses.ALL. Essa propriedade é aplicável para o JAX-WS 2.2 e superior. (Sequência)
javax.xml.ws. soap.MTOM A anotação @MTOM especifica se o conteúdo binário no corpo de uma mensagem SOAP é enviado utilizando-se MTOM.

Aplique essa anotação a uma classe de implementação do terminal em serviço.

  • Destino da anotação: Classe
  • Propriedades:
    - enabled
    Especifica se MTOM está ativado para o terminal JAX-WS. O valor padrão é verdadeiro. (Boolean)
    - threshold
    Especifica o tamanho mínimo para mensagens enviadas utilizando-se MTOM. Quando o tamanho da mensagem é menor do que o inteiro especificado, a mensagem é colocada em sequência no documento XML como dados base64 ou hexBinary. (inteiro)
javax.xml.ws. WebFault A anotação @WebFault mapeia as falhas de WSDL para as exceções Java. Ela é utilizada para capturar o nome da falha durante a serialização do tipo JAXB que é gerado a partir de um elemento global mencionado por uma mensagem de falha de WSDL. Ela pode ser utilizada também para customizar o mapeamento de exceções específicas do serviço para falhas de WSDL.

Essa anotação pode ser aplicada apenas a uma classe de implementação de falha no cliente ou servidor.

  • Destino da anotação: Tipo
  • Propriedades:
    - name
    Especifica o nome local do elemento XML que representa a falha correspondente no arquivo WSDL. O valor real deve ser especificado. (Sequência)
    - targetNamespace
    Especifica o espaço de nomes do elemento XML que representa a falha correspondente no arquivo WSDL. (Sequência)
    - faultBean
    Especifica o nome da classe de bean de falha. (String)
    - messageName
    Especifica o nome do atributo wsdl:message que representa a falha correspondente no arquivo WSDL. Essa propriedade é aplicável para o JAX-WS 2.2 e superior. (String)
javax.xml.ws. WebServiceProvider A anotação @WebServiceProvider indica que uma classe atende aos requisitos de uma classe de implementação JAX-WS Provider.
Importante:
  • Uma classe Java que implementa um serviço da web deve especificar a anotação @WebService ou @WebServiceProvider. Não é possível usar as duas anotações simultaneamente.
  • A anotação @WebServiceProvider é suportada apenas na classe de implementação de serviço.
Qualquer classe com a anotação @WebServiceProvider deve implementar a interface javax.xml.ws.Provider.
  • Destino da anotação: Tipo
  • Propriedades:
    - targetNamespace
    Especifica o namespace XML dos elementos WSDL e XML gerados a partir do serviço da Web. O valor padrão é o namespace mapeado a partir do nome do pacote contendo o serviço da Web. (Sequência)
    - serviceName
    Especifica o nome do serviço do serviço da Web: wsdl:service. O valor padrão é o nome simples da classe Java + Serviço. (String)
    - portName
    O wsdl:portName. O valor padrão é o nome da classe + Port. (String)
    - wsdlLocation
    O endereço da Web do documento WSDL que define o serviço da Web. Esse atributo é obrigatório. (String)
javax.xml.ws. WebServiceRef A anotação @WebServiceRef define uma referência para um serviço da Web chamado pelo cliente.
Nota:
  • A anotação @WebServiceRef pode ser usada para injetar instâncias de serviços e portas JAX-WS.
  • A anotação @WebServiceRef só é suportada em determinados tipos de classes. Alguns exemplos: classes de implementação de terminal JAX-WS, classes do manipulador JAX-WS, classes Enterprise JavaBeans e classes de servlet. Essa anotação é suportada nos mesmos tipos de classes que a anotação @Resource. Consulte a especificação Java EE (Java Platform, Enterprise Edition) 5 para obter uma lista completa de tipos de classes suportados.
  • Destino da anotação: Tipo, Campo ou Método
  • Propriedades:
    - name
    Especifica o nome de JNDI do recurso. O nome do campo é o padrão para as anotações do campo. O nome da propriedade do JavaBeans que corresponde ao método é o padrão para as anotações de método. Você deve especificar um valor para as anotações de classe porque não há padrão. (Sequência)
    - type
    Indica o tipo do recurso Java. O tipo de campo é o padrão para as notações do campo. O tipo da propriedade JavaBeans é o padrão para as anotações de método. Você deve especificar um valor para as anotações de classe porque não há padrão. (Classe)
    - mappedName
    Especifica o nome para o qual mapear este recurso. (Sequência)
    - value
    Indica o valor da classe de serviço e é um tipo que estende javax.xml.ws.Service. Este atributo é necessário quando o tipo da referência é uma interface de terminal em serviço. (Classe)
    - wsdlLocation
    O endereço da Web do documento WSDL que define o serviço da Web. Esse atributo é obrigatório. (String)
    - lookup
    Especifica o nome de consulta do JNDI para o serviço da Web de destino. Essa propriedade é aplicável para o JAX-WS 2.2 e superior. (Sequência)
javax.xml.ws. WebServiceRefs A anotação @WebServiceRefs associa várias anotações @WebServiceRef a uma classe específica.
Nota: A anotação @WebServiceRef só é suportada em determinados tipos de classes. Alguns exemplos: classes de implementação de terminal JAX-WS, classes do manipulador JAX-WS, classes Enterprise JavaBeans e classes de servlet. Essa anotação é suportada nos mesmos tipos de classes que a anotação @Resource. Consulte a especificação Java EE (Java Platform, Enterprise Edition) 5 para obter uma lista completa de tipos de classes suportados.
  • Destino da anotação: Tipo
  • Propriedades:
    - value
    Especifica uma matriz para várias declarações de referência de serviço da Web. Esse atributo é obrigatório.
Tabela 3. Anotações Comuns do JAX-WS (JSR 250). Descreve as anotações comuns JAX-WS suportadas e suas propriedades associadas.
Classe de anotação Anotação Propriedades
javax.annotation. Resource A anotação @Resource marca um recurso WebServiceContext que é necessário para o aplicativo.
Nota:

Aplicar essa anotação a um campo de tipo WebServiceContext na classe de implementação de terminal do servidor para um terminal JavaBeans ou um terminal de Provedor resulta no contêiner injetando uma instância do WebServiceContext no campo especificado.

Quando essa anotação é utilizada no lugar da anotação @WebServiceRef, as regras descritas para a anotação @WebServiceRef são aplicadas.

  • Destino da anotação: Campo ou Método
  • Propriedades:
    - type
    Indica o tipo do recurso Java. Você deve usar o padrão, valor java.lang.Object ou javax.xml.ws.Web ServiceContext. Se o tipo for o padrão, o recurso deverá ser injetado em um campo ou um método. Neste caso, o tipo do campo ou o tipo da propriedade JavaBeans definida pelo método deve ser javax.xml.ws.WebServiceContext. (Classe)
    Se você estiver usando essa anotação para injetar um serviço da Web, consulte a descrição do atributo tipo do @WebServiceRef.
javax.annotation. Resources A anotação @Resources associa várias anotações @Resource a uma classe específica e serve como contêiner para várias declarações de recursos.
  • Destino da anotação: Campo ou Método
  • Propriedades:
    - value
    Especifica uma matriz para várias anotações @Resource. Esse atributo é obrigatório.
javax.annotation. PostConstruct A anotação @PostConstruct marca um método que precisa ser executado depois que a injeção de dependência é executada na classe.

Aplique essa anotação a um manipulador de aplicativo JAX-WS, uma classe de implementação de terminal do servidor.

  • Destino da anotação: Método
javax.annotation. PreDestroy A anotação @PreDestroy marca um método que deve ser executado quando a instância está no processo de ser removida pelo contêiner.

Aplique essa anotação a um manipulador de aplicativo JAX-WS ou a uma classe de implementação de terminal do servidor.

  • Destino da anotação: Método
Tabela 4. Anotações Proprietárias IBM. Descreve as anotações proprietárias IBM® suportadas e suas propriedades associadas.
Classe de anotação Anotação Propriedades
com.ibm.websphere. wsaddressing. jaxws21. SubmissionAddressing A anotação @SubmissionAddressing especifica que esse serviço quer ativar o suporte ao WS-Addressing para a especificação 2004/08 WS-Addressing.

Essa anotação faz parte da implementação da IBM da especificação JAX-WS 2.1.

Aplique esta anotação para métodos em uma classe de implementação de terminal do servidor.

  • Destino da anotação: Tipo
  • Propriedades:
    - enabled
    Especifica se o WS-Addressing está ativado ou não. O valor padrão é verdadeiro. (Boolean)
    - required
    Especifica se os cabeçalhos do WS-Addressing devem estar presentes em mensagens que chegam. O valor padrão é false. (Boolean)

Ícone que indica o tipo de tópico Tópico de Referência



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