Páginas

segunda-feira, 2 de janeiro de 2012

Implementando em Java Web Services Fácil

Bom, existem vários meios de implementar Web Services em Java. Vou mostrar hoje como implementar utilizando o Framework XFire.

Primeiramente fazemos o download do XFire no link abaixo:
http://repository.codehaus.org/org/codehaus/xfire/xfire-distribution/1.2.6/xfire-distribution-1.2.6.zip

Depois de feito o download incluimos as bibliotecas como dependências do nosso projeto Web no Eclipse.
Agora vamos criar a interface para nosso Web Service. Ficou assim:

package br.com.xfire.test;

import java.io.Serializable;
public interface IServiceTest extends Serializable{

public double testService(double value1, double value2) ;
}

Após criar a interface vamos criar a nossa classe concreta que é a implementação da interface:

package br.com.xfire.test;

public class ServiceTest implements IServiceTest{
public double testService(double value1, double value2) {
return value1*value2;
}
}

Podemos dizer agora que a parte difícil já passou, pois agora é só configuração. Primeiro vamos criar um descritor chamado services.xml dentro da pasta WEB-INF. O conteúdo do nosso arquivo será o seguinte:

ServiceTest
http://xfire.codehaus.org/ServiceTest
br.com.xfire.test.IServiceTest
br.com.xfire.test.ServiceTest

Aqui temos o nome do nosso serviço, seu namespace, a interface que estabelece os contratos para gerar o WSDL e a classe de implementação que será chamada quando o serviço for solicitado. Simples assim.

Agora vamos para a parte final. No web.xml vamos incluir o Servlet do XFire:
XFire
org.codehaus.xfire.transport.http.XFireConfigurableServlet
config
services.xml
XFire
/services/*

Assim, se chamarmos o endereço http://localhost:8080/aplicacao/services/ServiceTest?wsdl, teremos o wsdl do nosso serviço. Assim já podemos fazer o cliente para nossa aplicação.

Da próxima podemos criar um cliente ou criar outro Web Service usando outra tecnologia. Abraços.

2 comentários:

  1. Cara ta dando esse erro
    Error initializing XFireServlet

    sabe o que pode ser?

    ResponderExcluir
    Respostas
    1. Pode ser algum parâmetro errado no web.xml, ou mesmo o services.xml com algum sintaxe errada. teria que dar uma olhada no stack trace para descobrir. Se você conseguir postar o StackTrace posso tentar ajudar.

      Excluir