Criando Web Service em SOAP utilizando AXIS2 em poucos minutos
Autor: Diego Sarai | Publicado: 2013-06-25T16:52:00-07:00

Olá pessoal, hoje vou demonstrar como criar um web service utilizando protocolo SOAP em poucos minutos. Esse tutorial fará uso do eclipse JUNO como material, porém o mesmo pode ser feito em versões anteriores ao JUNO sem nenhum problema.

O Web Service que criaremos exige que baixemos o AXIS2 que pode ser encontrado no seguinte URL:
http://axis.apache.org/axis2/java/core/download.cgi

Após baixá-lo, descompacte e coloque em um lugar da sua preferência.
No eclipse vá na aba WINDOW-&gt;PREFERENCES-&gt;WEB SERVICES-&gt; AXIS2 PREFERENCES. Clique no botão "Browse..." para localizar o arquivo recém baixado. Aponte para o arquivo baixado e clique em "Ok".

Pronto o eclipse já está configurado, agora vamos criar de fato nosso web service. Crie um novo projeto do tipo Dynamic Web Project normalmente. Um detalhe muito importante que muita gente esquece é que o Axis2 não dá suporte para o Dynamic Web Module 3.0 ou JSP 3.0 como também é conhecido, portanto defina o DWM como no máximo 2.5 no momento da criação do projeto.

Com o projeto já criado, crie um pacote e uma classe qualquer dentro do mesmo. Nesta classe definiremos quais as funções estarão presentes no nosso web service.

Copie o exemplo abaixo (ridiculamente simples):

public int somar(int x,int y){
  
  return x+y;
}

É importante lembrar que como se trata de um web service os tipos de dados retornados devem ser sempre de tipos primitivos para dar suporte a outras linguagens de programação acessá-lo também. É possível retornar objetos complexos (objetos) em um web service, mas isso fica para um outro post.

Com a classe criada e o método também criado clique com o botão direito em cima da classe no eclipse e vá nas opções NEW-&gt;WEB SERVICE.

Uma nova janela será aberta e na opção "Service implementation" deve estar o FQN da sua classe.

Procure por "Configuration" e clique no segundo link: "Web service runtime: Apache Axis". Este link vem apontando para o AXIS por default, porém queremos utilizar o AXIS2 então escolha a opção AXIS2 e confirme para voltar a tela de configurações.

Após esses passos clique em "Next". Na próxima aba na opção para criar o services.xml mantenha a opção selecionada e clique novamente em "Next". Na próxima aba se o seu servidor de aplicação não estiver no ar, haverá um botão chamado "Start server" para iniciá-lo. Clique no botão e espere o servidor subir. Clique novamente em "Next" e na próxima aba em "Finish".

Pronto, seu web service está criado. Agora suba seu projeto como um projeto web normalmente para ver como ficou sua estrutura. Quando o projeto subir você verá uma tela de WELCOME da apache, para verificar o método que você criou dentro do projeto clique em "Services", lá estará o nome e os parâmetros do método criado.

É importante lembrar que esse web service está no formato SOAP, portanto deve haver um WSDL (Web Service Discription Language) que é um arquivo de mapeamento dos métodos contidos no web service para a sua classe criada. O lindo do Axis2 é que ele gera automaticamente o arquivo WSDL para você e você pode visualizá-lo clicando na opção "Services" e no nome da sua classe que está como um link nessa página.

É isso pessoal, nos próximos posts vou mostrar como consumir esse web service através de um STUB e também vou mostrar como consumir um web service que utilize tipos complexos. Também irei mostrar como consumir esses web services com o Android, então fique ligado !

Abraços !!!