Bom dia, pessoal.
Estive por alguns anos afastado do java e estou retornando este ano. E logo no primeiro projeto, acabei me deparando com a integração via webservice, porém eu nunca fiz integrações.
O que tenho em mãos é o seguinte: a empresa em que estou trabalhando te um sistema comercial que deve fazer o envio de informações para um ERP lá nos EUA. O pessoal da TI me passou a documentação e os wsdl deles.
Em um projeto JEE com Hibernate e JPA, fiz todo o mapeamento do banco de dados, com a camada DAO e seus métodos.
Também já entendi como fazer para ler esses wsdl’s fornecidos e como criar webservices server e client através do eclipse e axis2.
Me perdoem pela dúvida tosca. Estou com dificuldades em entender como vou passar os dados do JPA para o webservice.
Ou estou comendo mosca e o webservice conseguirá fazer isso sem usar o JPA?
Eu estou pesquisando bastante no google sobre isso, mas tudo o que encontro são tutoriais dizendo o que é um webservice e como fazer um webservice… ainda não encontrei um exemplo de como repassar os dados do banco para o webservice.
Mais uma vez, perdoem se minha dúvida é tosca, mas eu realmente não consegui entender ainda como fazer isso.
Qualquer ajuda será bem vinda.
Obrigado.
Se você está voltando ao java, já conhece algo do mesmo, certo?
Imagine o seguinte, uma aplicação java web qualquer (tanto faz se JSF, Servlets + JSP, Struts 2, etc). Você tem a página que o usuário acessa (seja uma jsp ou uma xhtml), onde ele insere informações, por exemplo, preenchendo filtros de busca.
Quando ele submete o formulário, este é enviado para a classe java (seja a servlet ou o managed bean ou a action do Struts 2). Essa classe vai processar os dados recebidos e utilizar a instância do objeto referente ao DAO (seja por controle direto, você instanciando o objeto da classe DAO ou por injeção de dependências, com EJB ou Spring ou CDI ou o que for).
O objeto da classe DAO, por sua vez, irá realizar a interação com a base de dados e retornará o resultado para a classe java que a invocou.
Por fim, esta classe prepara os dados e envia para a jsp/xhtml.
A questão com os web services é semelhante, a não ser por não existir uma página e a classe que seria a Servlet é substituída pela que representa o serviço em si.
@darlan_machado
Muito obrigado pela resposta rápida.
Sim. Conheço um pouco de java.
Eu compreendi seu raciocínio. Um controller recebe os parâmetros, vai na model que faz a consulta no banco e prepara os dados recebidos da model para serem enviados para a view.
Até aqui está fácil para mim.
A dúvida é para quem preparar os dados: para o wsdl? E como fazer essa preparação?
Eu tenho aqui, correspondente aos WSDLs, as classes Service, ServiceStub, Mapper e FaultMessage.
Pelo que pude perceber, são essas as classes que preparam as informações para o wsdl. Para elas que devo enviar os objetos DAO?
Ou estou confundindo?
Obrigado pela ajuda.