Olá, estou montando um sistema pra envio de Nota Fiscal eletrõnica pra sefaz do Rio Grande do Sul, estou com problemas logo na parte de conferir o status do serviço.
Estou seguindo este tutorial aqui:
Já consegui gerar as classes java a partir do WSDL disponibilizado pela sefaz do rs, criei o keystore…
Mas no código ele usa isso:
NfeStatusServico service = new NfeStatusServicoLocator();
try {
NfeStatusServicoSoap nfeStatus = service.getNfeStatusServicoSoap();
System.out.println(nfeStatus.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg));// O retorno deve ser um XML com o status do serviço
}
Só que quando eu gerei as classes, ele não gerou nenhuma NfeStatusServicoSoap, NfeStatusServico ou NfeStatusServicoLocator.
Ele gerou apenas as classes NfeStatusServicoNF,NfeStatusServicoNFResponse,ObjectFactory e package-info.
Acredito que seja porque o dele era da sefaz de SP e o meu de RS, mas como faço então pra consultar o status do serviço?
Ajudou sim, meu netbeans tava gerando os .java tudo errado, aí fiz como voce mostrou no 2º tutorial usando o axis e deu certinho…
Porém teve uma parte que eu não entendi.
Na parte de consultar o status do serviço seguindo o seu exemplo:
public class Teste {
public static void main(String[] args) {
String cert = "";
String keystore = "C:\\NFE\\KEYSTORE\\nfe.keystore";
String senhaCert = "";
String nfeDadosMsg = "<nfeDadosMsg></nfeDadosMsg>";
String http = "endereco_servico_web_sefaz";
new ConfigurarSSL().configurarSSL(cert, keystore, senhaCert);
try {
NfeRecepcao2Stub.NfeCabecMsg nfecabec = new NfeRecepcao2Stub.NfeCabecMsg();
nfecabec.setCUF("35");
nfecabec.setVersaoDados("2.00");
NfeRecepcao2Stub.NfeCabecMsgE cabE = new NfeCabecMsgE();
cabE.setNfeCabecMsg(nfecabec);
ByteArrayInputStream baisDados = new ByteArrayInputStream(nfeDadosMsg.getBytes());
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
xmlInputFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE,Boolean.FALSE);
XMLStreamReader xmlReader = xmlInputFactory.createXMLStreamReader(baisDados);
NfeRecepcao2Stub.NfeDadosMsg dado =
NfeRecepcao2Stub.NfeDadosMsg.Factory.parse(xmlReader);
NfeRecepcaoLote2Result result = new NfeRecepcao2Stub(http)
.nfeRecepcaoLote2(dado, cabE);
System.out.println(result.getExtraElement());
} catch (Exception e) {
throw new RuntimeException("Message:" + e.getMessage() + " Cause: " + e.getCause() );
}
}
}
De onde que saiu esse [color=red]NfeRecepcao2Stub[/color], [color=red]NfeCabecMsgE()[/color] e o [color=red]NfeRecepcaoLote2Result[/color]?? lembrando que eu cosnegui gerar todos os .java a partir dos wsdl(status do serviço, cancelamento, recepção, etc…)