SERVIÇOS SOAP

Projeto backend

Crie a classe BaseWSFacadeImp caso não exista em seu projeto.

Anote a classe com as seguintes anotações e declare um atributo do tipo IProFacadeRemote com a anotação @EJB.

Crie a interface WS Facade de sua entidade com a assinatura dos métodos que serão usados como serviços.

Obs.: o nome da interface deve seguir o padrão INomeDaEntidadeWSFacade.

Conteúdo da interface:

Crie a classe WSFacadeImp, esta classe deverá herdar de BaseWSFacadeImp e implementar a interface criada no passo anterior.

Obs.: o nome da classe deve seguir o padrão NomeDaEntidadeWSFacadeImp.

//anotações da classe, @Stateless(name=”nomeEntidade-ejb”) e @WebService.
@Stateless(name = "funcionario-ejb")
@WebService
public class FuncionarioWSFacadeImp extends CursoProddigioBaseWSFacadeImp implements IFuncionarioWSFacade {
    //implementação dos métodos
    @Override
    public List<FuncionarioVO> retornarFuncionarios() {
        FuncionarioVO funcionarioVO = new FuncionarioVO();
        Set<FuncionarioVO> funcionariosRetornados = new HashSet<FuncionarioVO>();
        try {
            funcionariosRetornados = facade.listarBaseadoNoExemplo(funcionarioVO, null, 0,Integer.MAX_VALUE, "nrVersao");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return new ArrayList<FuncionarioVO>(funcionariosRetornados);
    }
}

Testando o serviço

Inicialize o servidor e acesse a URL para verificar se o serviço está disponivel:

http://localhost:8080/ nomeDaAplicacao-backend-1.0-SNAPSHOT/FuncionarioWSFacadeImp?wsdl

SOAP UI

Baixe, instale e execute o SOAP UI (https://www.soapui.org/ ).

Crie um novo projeto SOAP

Nomeie seu projeto e no campo Initial WSDL coloque o caminho para o serviço criado(http://localhost:8080/nomeDoProjeto-backend-0.0.1-SNAPSHOT/FuncionarioWSFacadeImp?wsdl).

Abra a Request1

Execute a requisição.

O resultado deverá ser parecido com: