Estou precisando de criar um webservice para prefeituras receber as notas fiscais, de acordo com o shema da abrasf.
Estou utilizando spring.
Estou precisando de criar um webservice para prefeituras receber as notas fiscais, de acordo com o shema da abrasf.
Estou utilizando spring.
Você vai desenvolver o web service ou um client?
Na verdade os dois.
Tenho que desenvolver um webservice para receber as notas das empresas.
Tenho que desenvolver um cliente que é um teste.
SOAP, presumo, já que mencionou o schema da abrasf.
Tem o WSDL?
Sim é SOAP, desculpe não mencionar.
Sim tenho o WSDL.
De boas, não esquenta.
Ótimo.
Como tudo na vida, existe mais de uma maneira de fazer, tanto o client quanto o WS…
A mais simples de fazer um WS é essa
E o client
Obviamente, você precisará editar o que foi gerado, para atender ao que precisa, mas é um começo.
Até onde me lembro, o mesmo processo funciona para Wildfly ou o que seja.
Além disso, o que roda no Tomcat, que é um servlet container e não um application server, roda em qualquer AS.
Basicamente, o link demonstra como criar o projeto básico (POJOs a partir dos XSDs, o WS em si), como comentei, você precisará alterar conforme sua necessidade.
Como disse, também, não existe uma única forma de fazer.
Você pode, portanto, usar EJB e criar os WS de acordo com a especificação JEE.
Como tem o WSDL, pode usar a abordagem contract first.
Dá uma olhada nisso e tenta entender.
Como está fazendo?
Vou colocar as imagens aqui, mais tarde.
@darlan_machado Este exemplo seria funcional: https://github.com/spring-guides/gs-producing-web-service ?
São sim.
Esse exemplo parte do contract first, você cria os XSDs (ou importa) e o WSDL, a partir deles, o próprio Spring cria a estrutura de classes necessárias para o serviço.
Consegui criar um webservice conforme exemplo:
@Remote
@WebService
public interface NFSeWSService {
@WebMethod
public List<GerarNFSeResponse> registrarRecebimentoProvisorio(
@WebParam(name = "GerarNFSe") GerarNFSeRequest gerarNFSeProvisorio
);
}
@Stateless
@Remote(NFSeWSService .class)
@WebService
public class NFSeWSServiceImpl implements NFSeWSService {
@Override
@WebMethod
public List<GerarNFSeResponse> registrarRecebimentoProvisorio(
@WebParam(name = "GerarNFSe") GerarNFSeRequest gerarNFSeProvisorio
return null;
);
}
Pelo SOAP UI, eu consigo acessar este endereço.
Mas não consegui gerar pelo arquivo xsd que tenho. Tem algum outro exemplo ?
Nesse site tem uma aplicação WebService create XML schema (XSD) to define web service domains. Spring web service will export XSD as WSDL automatically
Não é pelo xsd, é pelo WSDL.
Sim, Tenho o wsdl.