Criação de um Web Service básico utilizando o Framework Spring e o Apache CXF. O projeto de exemplo foi criado com a seguinte estrutura:
Criação da Interface do Serviço
Na Interface do Serviço definiremos os métodos a serem implementados no WebService.
Para criação do serviço deveremos implementar interface do mesmo e realizar as anotações para definição do Web Service e de seus métodos(@WebService, @WebMethod).
WebStoreService.java
package br.com.web.store.webservice;
import java.util.List;
import br.com.web.store.dto.InGameDTO;
import br.com.web.store.dto.OutGameDTO;
public interface WebStoreService {
public List<OutGameDTO> listarJogos();
public OutGameDTO buscarJogo(InGameDTO produtoDTO);
public void desabilitarProduto(Integer id);
}
WebStoreServiceSoap.java
package br.com.web.store.webservice;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.springframework.scheduling.annotation.Async;
import br.com.web.store.dao.ProdutoRepo;
import br.com.web.store.dto.InGameDTO;
import br.com.web.store.dto.OutGameDTO;
@WebService
public class WebStoreServiceSoap implements WebStoreService {
private ProdutoRepo repo = new ProdutoRepo();
@WebMethod
public List<OutGameDTO> listarJogos() {
return repo.getListajogos();
}
@WebMethod
public OutGameDTO buscarJogo(InGameDTO produtoDTO) {
return repo.obterJogo(produtoDTO).get();
}
@Async
@WebMethod
public void desabilitarProduto(Integer id) {
System.err.println("Produto Desabilitado com Sucesso!");
}
}
Gerando o WebService
Para a criação do web service usando o Framework Spring e o Apache CXF devemos criar um arquivo xml com a configuração do serviço, informando a classe definida com a anotação Web Service e o endpoint do serviço. Para isso criaremos o arquivo webservice-definition-beans.xml no diretório WEB-INF do WebContent do projeto.