quarta-feira, 16 de maio de 2007

Web Services

Olá,

Vou colocar aqui, de forma bem resumida, como cria um Web Service com NetBeans e, depois, como criar um cliente que use o Web Service.

Para começar, é preciso que o enterprise pack do NetBeans esteja instalado. O download pode ser feito em http://www.netbeans.org/products/enterprise/

Criando o Web Service

Crie um novo projeto e escolha category Web e project Web Application. Em seguida, defina o nome do projeto e, em server, escolha Sun Java System Application Server 9. Na página seguinte, não selecione nenhum framework e clique Finish.

Clique com o botão direito no projeto e escolha New Web Service, coloque o nome do web service, o nome do package, selecione create an empty web service e clique em Finish.

Automaticamente aparecerá o código de uma classe com o nome do web service escolhido. Observe a anotação @WebService, utilizada para a definição desse tipo de serviço de acordo com a especificação EJB 3.0.

Crie um método com algum tipo de retorno. Esse retorno será o resultado do processamento do seu web service. Veja abaixo o exemplo de um web service simples:

package mypackage;
import javax.jws.WebService;


@WebService()
public class Hello {
   public String sayHello(String name) {
      return "Hello " + name;
   }
}


Deploy

Após construir o web service, é necessário fazer o deploy do projeto, isto é, fazer a compilação dos arquivos e inicialização do servidor. Para isso, clique com o botão direito no projeto e escolha Deploy Project.

Após o encerramento do deploy, já podemos testar o web service. Sob o projeto, abra a pasta web services, clique com o botão direito no web service que acabou de criar e escolha Test Web Service. Uma janela do seu navegador será aberta com várias informações sobre o web service, um campo para digitação do parâmetro e um botão para fazer a chamada ao serviço.

Nessa página há um link para o arquivo WSDL do web service. Esse arquivo é uma forma de acesso externo ao serviço e é a que vamos utilizar. Clique no link WSDL File e, quando o arquivo XML correspondente aparecer, anote o link. Volte à página anterior para continuar o teste.

Digite um nome na janela e clique no botão. Uma nova página será aberta com o resultado da execução do serviço.




Pronto! O web service já está funcionando, pronto para receber chamadas de clientes.

Criando um Cliente

O próximo passo é criar um cliente para comprovar o funcionamento do web service. Podemos ter clientes de três tipos:

  • Outra aplicação web, com JSP
  • Uma aplicação Java desktop comum
  • Um servlet

Vamos montar uma aplicação Java desktop que acesse o web service Hello:

Crie um novo projeto. Em seguida, clique com o botão direito nele e escolha New Web Service Client. Escolha WSDL URL e coloque o link que você anotou durante o teste do web service. Digite o nome do package e clique em Finish.



Em seguida, maximize a árvore do projeto conforme a figura ao lado. Crie um novo package e uma nova classe. Nesta classe, crie o método main vazio.


Após isso, arraste o web service sayHello da árvore e solte dentro do método main. O código mostrado abaixo será gerado automaticamente.








package clientPackage;

public class Client {

   public static void main(String[] args) {
      try { // Call Web Service Operation
         mypackage.HelloService service = new mypackage.HelloService();
         mypackage.Hello port = service.getHelloPort();
         // TODO initialize WS operation arguments here
         java.lang.String arg0 = "";
         // TODO process result here
         java.lang.String result = port.sayHello(arg0);
         System.out.println(result);
      } catch (Exception ex) {
         // TODO handle custom exceptions here
      }
   }
}

Edite a linha java.lang.String arg0 = "", atribuindo um valor à String arg0, por exemplo, José.

Executando o projeto, o seguinte resultado será exibido na console:

init:
deps-jar:
wsimport-init:
wsimport-client-check-HelloService:
wsimport-client-HelloService:
wsimport-client-generate:
wsimport-client-compile:
Compiling 1 source file to C:\antigo\Tancredo\HelloClientDesk\build\classes
compile:
run:
Hello José
BUILD SUCCESSFUL (total time: 9 seconds)

Observe, na linha destacada, o resultado do web service.

Conclusão

Podemos ver que a criação de web services e clientes em Java pode ser bastante simples e rápida com a utilização da IDE NetBeans, facilitando o trabalho dos desenvolvedores.

Referência

http://www.javapassion.com/

Nenhum comentário: