Continuando a discussão do Consultar Cadastro NFE[RESOLVIDO]:
O meu código está como o do assunto que reabri, mas obtenho o mesmo problema “Falha no schema XML”, alguém pode me ajudar? Segue código:
public class ConsultaSefaz {
public static String getNfeConsultaCadastroXML(String uf, String ie) {
//Já formatei este bloco de várias maneiras, mas sempre obtenho o mesmo resultado "Falha no schema XML"
StringBuilder xml = new StringBuilder();
xml.append("<nfeDadosMsg>")
.append("<ConsCad versao=\"3.10\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">")
.append("<infCons>")
.append("<xServ>CONSULTAR</xServ>")
.append("<UF>")
.append(uf)
.append("</UF>")
.append("<IE>")
.append(ie)
.append("</IE>")
.append("</infCons>")
.append("</ConsCad>")
.append("</nfeDadosMsg>");
return xml.toString();
}
public static void consultarCadastroContribuinte(String cUf, String uf, String ie, String local) throws Exception {
// Seta as informações do certificado digital
Comunicacao.setaCertificados("nfe");
// Monta XML
String xml = getNfeConsultaCadastroXML(uf, ie);
// Monta mensagem
XMLStreamReader dadosXML = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xml.toString()));
NfeConsulta2Stub.NfeDadosMsg dadosMsg = NfeConsulta2Stub.NfeDadosMsg.Factory.parse(dadosXML);
// Monta cabeçalho da mensagem
NfeConsulta2Stub.NfeCabecMsg nfeCabecMsg = new NfeConsulta2Stub.NfeCabecMsg();
nfeCabecMsg.setCUF(cUf);
nfeCabecMsg.setVersaoDados("3.10");
NfeConsulta2Stub.NfeCabecMsgE nfeCabecMsgE = new NfeConsulta2Stub.NfeCabecMsgE();
nfeCabecMsgE.setNfeCabecMsg(nfeCabecMsg);
//Busca retorno do SEFAZ
NfeConsulta2Stub stub = new NfeConsulta2Stub(local);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.PROXY, Comunicacao.getProxyProperties());
stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(120000);
NfeConsulta2Stub.NfeConsultaNF2Result result = stub.nfeConsultaNF2(dadosMsg, nfeCabecMsgE);
//Escreve retorno do SEFAZ
System.out.println(result.getExtraElement().toString());
/*Retorno padrão:
<retConsSitNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
<tpAmb>1</tpAmb>
<verAplic>RS201601160949</verAplic>
<cStat>516</cStat>
<xMotivo>Rejeicao: Falha no schema XML – inexiste a tag raiz esperada para a mensagem</xMotivo>
<cUF>43</cUF>
<dhRecbto>2016-09-07T22:40:09-03:00</dhRecbto>
<chNFe />
</retConsSitNFe>
*/
}
public static void main(String[] args) {
try {
consultarCadastroContribuinte("43"/*cUF*/, "RS"/*UF*/, "[telefone removido]"/*IE*/, "https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx"/*local de consulta*/);
} catch (Exception e) {
e.printStackTrace();
}
}
}