Retorno 225 NFe

8 respostas
furacao123

Aew galera estou com problemas na hora de consultar um nfe emitido para a receita quando testo no site da receita me retorna

PARSER XML: OK TIPO DE MENSAGEM: NF-e SCHEMA: OK ASSINATURA XML: Assinatura VÁLIDA

mas quando consulto me retorna

<retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><verAplic>SP_NFE_PL_006h</verAplic><nRec>351000051441044</nRec><cStat>225</cStat><xMotivo>Rejeição: Falha no Schema XML do lote de NFe</xMotivo><cUF>35</cUF></retConsReciNFe>

Alguem ja passou por isso?

8 Respostas

luiz_renato

Amigo,

Tenta validar aqui http://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx que pode te ajudar.

furacao123

entao mas como eu falei ja validei esta tudo ok

PARSER XML: OK TIPO DE MENSAGEM: NF-e SCHEMA: OK ASSINATURA XML: Assinatura VÁLIDA

luiz_renato

É, cada caso é um caso.
Já tive problemas onde no meu validor XSD funcionava legal mas no da Sefaz RS indicava erro .
Dá uma olhada tbm se o xml tem prefixo namespace do tipo ns2: ns3:.
Aqui http://www.javac.com.br/jc/ vc tbm encontra ajuda.

furacao123

ja estou buscando uma ajuda no forum javac e estao me ajudando, mas fiquei empacado nessa parte, nesse erro 588, entao postei aqui no guj tambem para mais usuarios visualizarem o problema e tentar me ajudar

Segue o erro que estou tendo agora, o xml esta validando normalmente no site da sefaz ja retirei todos os espaços

<retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"> <tpAmb>2</tpAmb> <verAplic>SP_NFE_PL_006h</verAplic> <nRec /> <cStat>588</cStat> <xMotivo>Rejeicao: Nao e permitida a presenca de caracteres de edicao no inicio/fim da mensagem ou entre as tags da mensagem</xMotivo> <cUF>35</cUF> </retConsReciNFe>

Esse tratamento vi aqui no guj em posts anteriores só mudei para fazer em cada linha de leitura do arquivo

BufferedReader in = new BufferedReader(new InputStreamReader( new FileInputStream(pathXml), "UTF-8")); while ((linha = in.readLine()) != null) { xml.append(linha.replaceAll("\n", "") .replaceAll("\r", "") .replaceAll("\t", "") .replaceAll(" ", "") .replaceAll("> ", "") .replaceAll(" <", "") .replaceAll("> <", "><") .trim()); } in.close();

luiz_renato

Acrescenta tbm:

.replaceAll(" </", "></")

Nessa mensagem aqui do forúm http://www.guj.com.br/java/220830-problemas-envio-da-nfe-588—rejeicao-nao-e-permitida-a-presenca-de-caracteres/5 tem algo falando tbm sobre a forma da assinaura que pode inserir caracteres de edição.

furacao123

entao quanto a assinatura eu faço da seguinte maneira

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(true);
        Document doc = dbf.newDocumentBuilder().parse(new FileInputStream(arqXml));
        System.out.println("| INFO: Documento OK");

        NodeList elx = doc.getElementsByTagName("Signature");
        
        if (elx.item(0) == null) {

            getCertificadoPfx();

            sig = XMLSignatureFactory.getInstance("DOM");

            ArrayList<Transform> transformList = new ArrayList<Transform>();
            Transform enveloped = sig.newTransform(Transform.ENVELOPED, (TransformParameterSpec) null);
            Transform c14n = sig.newTransform(C14N_TRANSFORM_METHOD, (TransformParameterSpec) null);
            transformList.add(enveloped);
            transformList.add(c14n);

            NodeList elements = doc.getElementsByTagName("infNFe");
            org.w3c.dom.Element el = (org.w3c.dom.Element) elements.item(0);
            String id = el.getAttribute("Id");
            Reference r = sig.newReference("#".concat(id), sig.newDigestMethod(DigestMethod.SHA1, null),
                    transformList,
                    null, null);
            si = sig.newSignedInfo(
                    sig.newCanonicalizationMethod(CanonicalizationMethod.INCLUSIVE,
                    (C14NMethodParameterSpec) null),
                    sig.newSignatureMethod(SignatureMethod.RSA_SHA1, null),
                    Collections.singletonList(r));

            KeyInfoFactory kif = sig.getKeyInfoFactory();
            List x509Content = new ArrayList();
            x509Content.add(cert);
            X509Data xd = kif.newX509Data(x509Content);
            ki = kif.newKeyInfo(Collections.singletonList(xd));

            DOMSignContext dsc = new DOMSignContext(getChavePrivada(), doc.getDocumentElement());
            XMLSignature signature = sig.newXMLSignature(si, ki);
            signature.sign(dsc);

            OutputStream os = new FileOutputStream(arqXml);
            TransformerFactory tf = TransformerFactory.newInstance();
            Transformer trans = tf.newTransformer();
            trans.transform(new DOMSource(doc), new StreamResult(os));

Esse exemplo peguei no forum do javac, e olhando o xml nao vejo nada de espaço nem linhas em branco nada

H

caro amigo vc conseguiu resolver esse problema
2SP_NFE_PL_006h351000053327689225Rejeição: Falha no Schema XML do lote de NFe35

valew

furacao123

helton.a.marinho resolvi o problema, da uma olhada na montagem dos demais xml, para consulta da nota emitida, o meu problema estava no xml de retEnvio que enviava para receita, este tive de tratar os caracteres invalidos

Criado 16 de junho de 2011
Ultima resposta 9 de set. de 2011
Respostas 8
Participantes 3