cancel
Showing results for 
Search instead for 
Did you mean: 

Entrada de Evento de Cancelamento aguardando indefinidamente

0 Kudos

Pessoal, boa tarde.

Estamos finalizando a configuração do Cancelamento de NF-e por evento e estamos enfrentando um problema no processo de entrada de Eventos de Cancelamento de NF-e.

O XML é recebido, a assinatura é validada, mas fica parado no passo em que o evento é validado na SEFAZ, conforme print abaixo. Como esta validação é feita pelo mesmo cenário que valida as NF-es de entrada, estou descartando erro no cenário, pois a validação de NF-es de entrada é feita corretamente.

                   

O que pude notar é que no monitor de mensagens xml o processo de validação é chamado várias vezes, parecendo que está entrando em loop.

Só para adiantar minha suspeita da origem do problema: Estou utilizando para testes, uma NF-e que eu mesmo gerei e eu mesmo cancelei. Ou seja, no monitor e nas tabelas de saída, esta nota já existe. Seria esta a causa do Loop? Terei que dar entrada numa nota de um fornecedor qualquer e solicitar que este a cancele para que eu possa realizar este teste? Ou não teria nada haver?

 

Sendo que já no primeiro retorno da Sefaz, no processo ConsultaNFResponse, a mensagem já retorna com sucesso:

 

Alguém enxerga algum problema? Alguém possui uma nota e um cancelamento desta nota por evento para que eu possa tirar esta dúvida?

Obrigado!

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Pessoal,

Somente para atualizar a questão.

Abrimos o chamado e resolvemos aplicar o SP13 e o problema continua o mesmo. A unica coisa que mudou, como o Da Rós havia dito, é que agora ele informa a mensagem de Erro: O Evento não está Autorizado. Ele não fica mais aguardando indefinidamente.

O problema continua no valor do Digest Value que está diferente entre o que eu gero e o que eu busco da SEFAZ depois para validar.

Alguém já implementou a entrada de Eventos e não se deparou com este problema? Não estou entendendo como a SEFAZ está autorizando meu Evento de Cancelamento com um Digest Value e quando eu consulto este mesmo evento, o valor está diferente.

Pelo que eu entendo, o Digest Value é um valor calculado, de acordo com o conteúdo do XML. Se for seguir esta lógica, o DV não vai bater mesmo, pois o XML do envio do cancelamento é diferente do retorno da SEFAZ, que contém, além do Evento, a tag do Cancelamento também. Se bem que o que ele compara é o DV específico do Evento. Para a tag do Cancelamento existe outro DV.

Estou bem confuso!

Qualquer ajuda será bem vinda!

Att,

former_member193386
Active Contributor
0 Kudos

Bruno

Faca um teste com o cancelamento por evento enviado por um fornecedor no ambiente produtivo, aconselho que teste dessa maneira ja que nao existe problema se vc usar o webservice do ambiente de producao para verificar o protocolo de uma nfe.

0 Kudos

Carlos, boa tarde.

Eu não possuo nenhum cancelamento por evento. Vasculhei nos e-mails recebidos e não consegui encontrar. Será que você poderia me enviar algum? Não sei como é a questão de confidencialidade disso, mas acredito não haver problemas.

Obrigado,

former_member193386
Active Contributor
0 Kudos

Puots Bruno, pior que eu nao tenho um XML de cancelamento por evento

former_member182114
Active Contributor
0 Kudos

Bom dia Bruno,

Este problema ainda está sem solução, existe chamado com a SAP AG sobre a questão. Acredito que saia solução esta semana saindo posto aqui.

Atenciosamente, Fernando Da Rós

0 Kudos

Boa Tarde Fernando!

Menos mal então. Fico aguardando.

Muito obrigado a todos!

Att,

Former Member
0 Kudos

Você não está sozinho nessa Bruno,

Tenho o mesmo problema.

Estamos aguardando resposta da SAP.

former_member182114
Active Contributor
0 Kudos

Bom dia Pessoal,

Só uma atualização. Este não é um caso de erro de código do standard.

A Sefaz Minas (outros casos apareceram iguais) está respondendo com um diggest value na NFESC que não é o mesmo que foi assinado pelo emitente.

Solução: Contactar Sefaz MG para verificar esta issue.

Atenciosamente, Fernando Da Rós

0 Kudos

Realmente Fernando.

Testamos com um cancelamento da SEFAZ ES e funcionou perfeitamente!

Estamos entrando em contato com a SEFAZ MG para que solucionem o problema.

Daniel Jesus, por favor relate o problema também à SEFAZ MG. Quanto mais gente relatar, mais rápido é a ação deles.

Muito obrigado a todos!

Answers (4)

Answers (4)

0 Kudos

Somente para finalizar:

A SEFAZ MG informou que havia um problema no sistema deles e disponibilizaram a correção em homologação hoje na hora do almoço. Forcei a atualização das entradas que estavam com erro e retornaram a autorização do evento corretamente.

Ainda segundo a SEFAZ MG, provavelmente na semana que vem estarão disponibilizando a correção em produção.

Obrigado a todos pela ajuda.

Att,

Bruno Ceolin

0 Kudos

Fernando,

Debugando o proxy, descobri que o DigestValue do Evento está diferente do que está sendo retornado pela SEFAZ:

Então, neste trecho de código abaixo, é setado um erro de evento, o que faz com que o processo não funcione corretamente e fique no status de wait indefinidamente.

          IF ls_event-digval IS NOT INITIAL AND

           ls_event-digval <> ls_event_prot-evento-signature-signed_info-reference-digest_value.

             es_status-stepstatus = gc_stepstat_events-error.

             set_status_msg gc_msgclass_eventsteps '192' '' '' '' ''.

A tag DigestValue do Envio do Evento de Cancelamento é esta:

<DigestValue>3uz6dUGSsAgM4eoe9EVy4M7SVxs=</DigestValue>

E a do retorno da consulta à SEFAZ é esta:

<DigestValue>M3V6NmRVR1NzQWdNNGVvZTlFVnk0TTdTVnhzPQ==</DigestValue>

Os números de Protocolo, de ID do Evento, todos batem, menos este valor, gerando o erro.

Se precisar de mais algum detalhe, por favor me informe.

former_member182114
Active Contributor
0 Kudos

Nossa... E como você conseguiu isso se você que fez esse XML? rsss Simulou outras coisas na emissão também?

De qualquer forma o sistema deveria ao ter detectado marcar para erro a mensagem.

Abre uma mensagem para SLL-NFE relatando isso tudo.

Atenciosamente, Fernando Da Rós

0 Kudos

Fernando,

Todas as outras entradas funcionam... NF-e, CT-e e até o próprio Cancelamento de NF-e no modelo antigo. Eu não sei como chegou a isso.

Vou abrir a mensagem.

Obrigado.

0 Kudos

Ricardo, bom dia.

Já havia colado o payload. Provavelmente enquanto vc respondia...

Após configurar o cenário de Entrada de Eventos, ele disparou automaticamente a chamada para o processo de consulta de NF-e, e não um específico. Existe um processo específico para consulta de status de Evento? Talvez então meu cenário de Entrada esteja errado.

Att,

former_member182114
Active Contributor
0 Kudos

Bom dia Bruno,

Acho que está ok com o retorno, este mode E1 concatenado com o GUID do evento já é ligado ao inbound event.

Atenciosamente, Fernando Da Rós

former_member182114
Active Contributor
0 Kudos

Bom dia Bruno,

Não me recordo se isso é um problema. Está testando isso no SP13?

Cola o payload do request deste NFESC aqui por favor.

Atenciosamente, Fernando Da Rós

0 Kudos

Não, estamos testando no SP12. Estamos com ele em DEV com um cronograma já planejado para QAS e PRD.

Segue payload da consulta:

<?xml version="1.0" encoding="utf-8"?>

<nm:nfeConsultaNF2 xmlns:nm="http://sap.com/xi/NFE/006"

    xmlns:prx="urn:sap.com:proxy:GRD:/1SAI/TAS523321853820FE4FB8A5:702">

    <n0:cUF xmlns:n0="http://sap.com/xi/NFE/006">31</n0:cUF>

    <n0:tpEmis xmlns:n0="http://sap.com/xi/NFE/006"/>

    <n0:tpAmb xmlns:n0="http://sap.com/xi/NFE/006">2</n0:tpAmb>

    <n0:type xmlns:n0="http://sap.com/xi/NFE/006">1</n0:type>

    <n0:versNum xmlns:n0="http://sap.com/xi/NFE/006">001</n0:versNum>

    <n0:mode xmlns:n0="http://sap.com/xi/NFE/006">E1512435127F5C0A90E1008000AC1000A6</n0:mode>

    <ne:nfeDadosMsg xmlns:ne="http://sap.com/xi/NFE/006">

        <ne:consSitNFe versao="2.01" xmlns:ne="http://www.portalfiscal.inf.br/nfe">

            <n0:tpAmb xmlns:n0="http://www.portalfiscal.inf.br/nfe">2</n0:tpAmb>

            <n0:xServ xmlns:n0="http://www.portalfiscal.inf.br/nfe">CONSULTAR</n0:xServ>

            <n0:chNFe xmlns:n0="http://www.portalfiscal.inf.br/nfe"

                >31130225331521000152550020000058231395573374</n0:chNFe>

        </ne:consSitNFe>

    </ne:nfeDadosMsg>

</nm:nfeConsultaNF2>

XML do Evento de Cancelamento:

<?xml version="1.0" encoding="utf-8"?>

<procEventoNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">

    <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">

        <infEvento Id="ID1101113113022533152100015255002000005823139557337401">

            <cOrgao>31</cOrgao>

            <tpAmb>2</tpAmb>

            <CNPJ>25331521000152</CNPJ>

            <chNFe>31130225331521000152550020000058231395573374</chNFe>

            <dhEvento>2013-02-20T14:58:46-03:00</dhEvento>

            <tpEvento>110111</tpEvento>

            <nSeqEvento>1</nSeqEvento>

            <verEvento>1.00</verEvento>

            <detEvento versao="1.00">

                <descEvento>Cancelamento</descEvento>

                <nProt>131130033025639</nProt>

                <xJust>ERRO PREENCHIMENTO DADOS</xJust>

            </detEvento>

        </infEvento>

(Fernando Da Rós: tag signature removida pela moderação (melhorar leitura) )

    </evento>

    <retEvento versao="1.00">

        <infEvento Id="ID131130033025645">

            <tpAmb>2</tpAmb>

            <verAplic>13_0_61</verAplic>

            <cOrgao>31</cOrgao>

            <cStat>135</cStat>

            <xMotivo>Evento registrado e vinculado a NF-e.</xMotivo>

            <chNFe>31130225331521000152550020000058231395573374</chNFe>

            <tpEvento>110111</tpEvento>

            <xEvento>CANCELAMENTO</xEvento>

            <nSeqEvento>1</nSeqEvento>

            <CNPJDest>99999999000191</CNPJDest>

            <dhRegEvento>2013-02-20T14:58:54-03:00</dhRegEvento>

            <nProt>131130033025645</nProt>

        </infEvento>

    </retEvento>

</procEventoNFe>

Obrigado..

Message was edited by: Fernando Ros

former_member182114
Active Contributor
0 Kudos

Bom dia Bruno,

O pedido e a resposta me parecem Ok com tudo correto para processar.

Mesmo sendo de sua emissão você pode fazer isso.

O NFESC sofreu evoluções importantes para o retorno de eventos para o SP13, converse com o time aí em 1 dia você sobe para o SP13 e já inicia os testes em QAS com ele.

Quanto à issue, coloque um break-point na função /XNFE/PROCRESP_EV_AUTHEVNT e dispare este segundo payload pela SPROXY interface NFESC_nfeConsultaNFResponse_IB.

Atenciosamente, Fernando Da Rós

0 Kudos

Fernando, bom dia.

Vou debugar e ver o que está acontecendo.

De qualquer forma já iniciei a conversa aqui para subirmos para o SP13 diretamente. Não justifica termos uma parada programada em PRD para subir para o SP12.

Vou postando aqui os resultados.

Obrigado!