Para criar um serviço web baseado no EJB 3.0, podemos utilizar a Java API for XML-based Web Services (JAX-WS), através dessa API podemos adicionar anotações ao EJB para que ele possa ser utilizado como um serviço web.
Nesse vídeo demonstro como criar um Web Service usando o JAX-WS:
Algumas das anotações que utilizamos para definir um web service:
javax.jws.WebService Define uma classe como um WS (Está classe precisa ser um Stateless Session Bean).
javax.jws.WebMethod Define que um método será disponibilizado via WS.
javax.jws.WebParam Define os parâmetros que serão recebidos pelo WS.
javax.jws.WebResult
Define o nome da tag XML com o conteúdo do retorno, por padrão a tag de retorno do método chama
Exemplo de Web Service:
Exemplo visual de um web service no NetBeans:
No NetBeans após criar um Web Service e publica-lo no Glassfish, podemos testa-lo clicando com o botão direito do mouse no nome do Web Service (dentro da guia Serviços Web) e selecionando a opção Testar serviço Web:
Após clicar no item Testar serviço web será aberto no navegador uma página para testar os métodos do web service, se clicarmos em WSDL File (arquivo WSDL) podemos ver o XML do WSDL gerado e se clicarmos na operação olaMundo veremos a execução de seu método:
Quando clicamos no método olaMundo podemos ver a requisição e a resposta no formato SOAP.
Outro exemplo de Web Service:
Neste exemplo temos um Web Service que faz uma conexão com o banco de dados para consultar as vendes de livros realizados em um período recebido via parâmetro e retorna um simples texto com as informações das vendas.