NFe - Envio de Lote

Bom dia pessoal,

Estou tendo problemas no envio de lote de nfes, consigo transmitir o arquivo normalmente mas o retorno com vem uma rejeição:

<?xml version="1.0" encoding="UTF-8"?>
<retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe retConsReciNFe_v1.10.xsd" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1.10</verAplic>
<nRec>510000000329185</nRec>
<cStat>104</cStat>
<xMotivo>Lote processado</xMotivo>
<cUF>51</cUF>
<protNFe versao="1.10">
<infProt>
<tpAmb>2</tpAmb>
<verAplic>1.10</verAplic>
<chNFe>51080906088741000586550010000029620200193971</chNFe>
<dhRecbto>2008-09-26T09:12:09</dhRecbto>
<cStat>297</cStat>
<xMotivo>Rejeicao: Assinatura difere do calculado</xMotivo>
</infProt>
</protNFe>
</retConsReciNFe>

Fazendo a validação da nfe individualmente ou seja sem empacotar em um lote a assinatura está válida.
Para efeito de testes, adicionei manualmente as tags do para envio do lote da nfe e funcionou normalmente.

Acredito que o problema está no meu processo.

Estou gerando os arquivos xml assinados e gravando em repositorio(diretorio)
Para enviar recupero essas notas do repositorio e adiciono a um lote e um arquivo xml.

Dessa forma encontro o erro acima.

Alguém poderia me ajudar?

Verifique se o tamanho em bytes entre os 2 arquivos é o mesmo…

Opa vamos la

Arquivo Lote --> 5880 bytes
Arquivo NFe —> 5799 bytes

Grato

tae o problema! hehehe

Desculpa a ignorância mas o arquivo de lote não tem que ser maior pois possui algumas informações a mais?

Grato.

Pessoal desculpem a insistência mas não estou encontrando uma solução

Vou detalhar mais o meu problema:

Estou gerando um arquivo somente com uma nota assinada, quando valido meu arquivo recebo que a assinatura está ok, mas quando empacoto essa nota em um lote a assinatura fica invalida.

Segue o codigo que estou utilizando

JAXBContext context = JAXBContext.newInstance("br.com.sensatta.sennfe.schema");

        TEnviNFe env = new TEnviNFe();
        env.setIdLote("1");
        env.setVersao("1.10");

        //aqui pego meu xml apartir de um Document já assinado
        try {
            Unmarshaller unmarshaller = context.createUnmarshaller();
            JAXBElement<TNFe> element = (JAXBElement<TNFe>) unmarshaller.unmarshal( doc );
                                   
            env.getNFe().add(element.getValue());
           
        } catch( javax.xml.bind.UnmarshalException je ) {
            je.printStackTrace();
        }
       

        Marshaller marshaller = context.createMarshaller();
        JAXBElement<TEnviNFe> enviElement = ( new ObjectFactory()).createEnviNFe(env);

        try {
            marshaller.marshal(enviElement, new FileOutputStream( new File("C:/Projetos/Repositorio/" + "001" +"env-lote.xml")));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }       

Quando vou validar o lote a assinatura do nfe fica inválida.

Grato

Muito Obrigado pelo exemplo de salvar arquivos XML.

Ola nandobgi

Eu apenas adiciono o texto xml no lote e nao uso processo nenhum para colocar como vc fez ai acima, assim mantenho toda a estrutura da NFe assinada sem alteracao, embora nao deveria altera mesmo neh. tb tive problemas com os parsers e etc…

editado: putz grilla… c ta usando JABX, tens algum site ou algo para me informar o caminho das pedras com ele???

[]´s

Joao Luiz - Linux user #159951
my space : http://www.myspace.com/jluizsc
GRATIS eh POUCO: http://www.gratisepouco.com.br

Boa tarde jluizsc, tem como vc postar um pedaço do código de como vc adicionou o texto xml no lote?

Muito obrigado.

[quote=nandobgi]Bom dia pessoal,

Estou tendo problemas no envio de lote de nfes, consigo transmitir o arquivo normalmente mas o retorno com vem uma rejeição:

<?xml version="1.0" encoding="UTF-8"?>
<retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe retConsReciNFe_v1.10.xsd" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1.10</verAplic>
<nRec>510000000329185</nRec>
<cStat>104</cStat>
<xMotivo>Lote processado</xMotivo>
<cUF>51</cUF>
<protNFe versao="1.10">
<infProt>
<tpAmb>2</tpAmb>
<verAplic>1.10</verAplic>
<chNFe>51080906088741000586550010000029620200193971</chNFe>
<dhRecbto>2008-09-26T09:12:09</dhRecbto>
<cStat>297</cStat>
<xMotivo>Rejeicao: Assinatura difere do calculado</xMotivo>
</infProt>
</protNFe>
</retConsReciNFe>

Fazendo a validação da nfe individualmente ou seja sem empacotar em um lote a assinatura está válida.
Para efeito de testes, adicionei manualmente as tags do para envio do lote da nfe e funcionou normalmente.

Acredito que o problema está no meu processo.

Estou gerando os arquivos xml assinados e gravando em repositorio(diretorio)
Para enviar recupero essas notas do repositorio e adiciono a um lote e um arquivo xml.

Dessa forma encontro o erro acima.

Alguém poderia me ajudar?[/quote]

Opa, bom… Estou com o mesmo problema, voce conseguiu resolver ?
Poderia me ajudar? 2 dias já com esse problema.

Valeu…

depois que vc assinou o xml, o fato de vc colocar e retirar arquivos do diretório (isso é uma suposição) pode alterar os últimos bits do arquivo, a mesma coisa acontece se vc abrir o arquivo com alguns programas. E isso pode invalidar sua assinatura, uma vez que ela garante que o arquivo não foi alterado durante qquer transmissão.

Tente por via das dúvidas manter isso em memória até a geração do lote e o envio.

[quote=nandobgi]Bom dia pessoal,

Estou tendo problemas no envio de lote de nfes, consigo transmitir o arquivo normalmente mas o retorno com vem uma rejeição:

Fazendo a validação da nfe individualmente ou seja sem empacotar em um lote a assinatura está válida.
Para efeito de testes, adicionei manualmente as tags do para envio do lote da nfe e funcionou normalmente.

Acredito que o problema está no meu processo.

Estou gerando os arquivos xml assinados e gravando em repositorio(diretorio)
Para enviar recupero essas notas do repositorio e adiciono a um lote e um arquivo xml.

Dessa forma encontro o erro acima.

Alguém poderia me ajudar?[/quote]

nandobgi, passo pelo mesmo problema, mas o que intriga e’ q algumas notas do lote sao aceitas e pouquissimas retornam
com o 297.
Tambem gravo o xml da nota em um diretorio. Mas, ao montar o lote, recrio cada um deles, monto o lote todo e depois
assino as notas ja dentro do lote, o que nao deixa duvida que nada foi alterado depois de assinado.

Ja li que pode ser caracter especial: Nao e’, pois se fosse a nota individual nao validaria;
Ja li tb que pode ser espaco entre tags: tb tiro os espacos na gravacao do lote;

Uma coisa e’ certa: o problema esta no calculo do DigestValue: no meu processo de assinatura da um e no assinador da SEFAZ
da outro. Dae, por consequecia, a assinatura muda.

Qualquer ajuda e’ bem vinda.

Alencar

[quote=philler]
nandobgi, passo pelo mesmo problema, mas o que intriga e’ q algumas notas do lote sao aceitas e pouquissimas retornam
com o 297.
Tambem gravo o xml da nota em um diretorio. Mas, ao montar o lote, recrio cada um deles, monto o lote todo e depois
assino as notas ja dentro do lote, o que nao deixa duvida que nada foi alterado depois de assinado.

Ja li que pode ser caracter especial: Nao e’, pois se fosse a nota individual nao validaria;
Ja li tb que pode ser espaco entre tags: tb tiro os espacos na gravacao do lote;

Uma coisa e’ certa: o problema esta no calculo do DigestValue: no meu processo de assinatura da um e no assinador da SEFAZ
da outro. Dae, por consequecia, a assinatura muda.

Qualquer ajuda e’ bem vinda.

Alencar[/quote]

Respondendo ao meu proprio email, descobri apos 2 dias intensos de testes.
Dentro do campo observacao da nota, constava algo do tipo “Entrega: Rua Etc, 123456”, onde entre o : e a primeira letra
tinha DOIS ESPACOS.
Tirando um deles tudo volta a funcionar.

Pergunto aos amigos: que b…ta de regra e’ esta que o usuario nao pode preencher um campo texto de 60 caracteres do jeito
que ele bem entende ou precisa?
Sao BURROCRACIAS assim que trancam um processo simples como a NFe.

Alencar

ola pessoal, blz
estou enviando o lote da NF-e e agora esta acusando erro de versão do arquivo xml não suportado, mas ja ohei todas versoes e ta certinho, alguma dica?
posto ai o retorno do webservices, abraço.

Signature passed core validation
<?xml version="1.0" encoding="UTF-8"?><cabecMsg xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.02"><versaoDados>1.07</versaoDados></cabecMsg>
Porta SOAP que esta sendo invocada: JAX-WS RI 2.1.1 in JDK 6: Stub for https://homologacao.nfe.sefaz.rs.gov.br/ws/nferecepcao/nferecepcao.asmx
Resposta do servico: <?xml version="1.0" encoding="utf-8"?><retEnviNFe versao="1.10" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>2</tpAmb><verAplic>RS20080807100051</verAplic><cStat>239</cStat><xMotivo>Rejeicao: Cabecalho - Versao do arquivo XML nao suportada</xMotivo><cUF>43</cUF></retEnviNFe>
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

[quote=aix]

[code]
Signature passed core validation

<?xml version="1.0" encoding="UTF-8"?>1.07

Porta SOAP que esta sendo invocada: JAX-WS RI 2.1.1 in JDK 6: Stub for https://homologacao.nfe.sefaz.rs.gov.br/ws/nferecepcao/nferecepcao.asmx
Resposta do servico: <?xml version="1.0" encoding="utf-8"?>2RS20080807100051239Rejeicao: Cabecalho - Versao do arquivo XML nao suportada43
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
[/code][/quote]

1.07

deve ser 1.10 para envio de nota.

Alencar

[quote=philler][quote=aix]

[code]
Signature passed core validation

<?xml version="1.0" encoding="UTF-8"?>1.07

Porta SOAP que esta sendo invocada: JAX-WS RI 2.1.1 in JDK 6: Stub for https://homologacao.nfe.sefaz.rs.gov.br/ws/nferecepcao/nferecepcao.asmx
Resposta do servico: <?xml version="1.0" encoding="utf-8"?>2RS20080807100051239Rejeicao: Cabecalho - Versao do arquivo XML nao suportada43
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
[/code][/quote]

1.07

deve ser 1.10 para envio de nota.

Alencar[/quote]

Valeu Philler era isso mesmo acontece que eu colocava 1.10 e não dava certo porque o seguinte, meu dado estava como Double porque no manual da integração falava pra usar number, ai quando ele gerava ficava 1.1 ao invés de 1.10, ai tipo coloquei pra String funciono blz, obrigado.

Boa noite pessoal.

Com realção à mensagem: “Rejeicao: Assinatura difere do calculado”.

Realizei o seguinte teste. Assinei o xml através do meu programa e uma cópia eu enviei pelo meu programa e a outra eu importei o xml assinado no programa da receita e transmiti sem nenhum tipo de verificação.

O q enviei pelo programa receita foi recebida com sucesso e a q enviei pelo meu programa me retornou o erro.

Em todos os outros estados eu estou conseguindo enviar sem problemas, apenas na Bahia estou com esse problema.

Alguém tem idéia do q possa ser?

[quote=icharus]Boa noite pessoal.
Com realção à mensagem: “Rejeicao: Assinatura difere do calculado”.
Realizei o seguinte teste. Assinei o xml através do meu programa e uma cópia eu enviei pelo meu programa e a outra eu importei o xml assinado no programa da receita e transmiti sem nenhum tipo de verificação.
O q enviei pelo programa receita foi recebida com sucesso e a q enviei pelo meu programa me retornou o erro.
Em todos os outros estados eu estou conseguindo enviar sem problemas, apenas na Bahia estou com esse problema.
Alguém tem idéia do q possa ser?[/quote]

Isto é tipico de alteracao na leitura do xml ja assinado.
Mostra ae como vc faz pra ler o xml assinado e enviar pra receita…

ae galera…

alguém sabe onde eu posso encontrar os XSDs para as versões 2.00 do SEFAZ SP ???

Quando tento consultar o retorno de uma nota enviada, só recebo:

&lt;retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"&gt;
&lt;tpAmb&gt;2&lt;/tpAmb&gt;
&lt;verAplic&gt;SP_NFE_PL_006&lt;/verAplic&gt;
&lt;nRec /&gt;
&lt;cStat&gt;239&lt;/cStat&gt;
&lt;xMotivo&gt;Rejeição: Cabeçalho - Versão do arquivo XML não suportada&lt;/xMotivo&gt;
&lt;cUF&gt;35&lt;/cUF&gt;
&lt;/retConsReciNFe&gt;

estão me retornando esse XML como versao=“2.00”, mas não encontrei XSD pra nenhum documento com versão 2.00
no máximo 1.10

valeu!!!

boa tarde,

estou com o mesmo problema com relação a rejeição : Assinatura difere do calculado. Esto enviando para web service virtual do RS.
com os WS : Parana, RS e MS estão aceitando normalmente. Mas qd mando para WS virtual do RS na consulta da nota retorna essa rejeição.
O sistema usa o mesmo método de assinatura, mesma estruutra de pastas, única coisa que muda é o endereço do WS.
Alguem sabe me dizer o q pode ser ?

até mais …