Jump to content

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Marcelo Simon

Erro no Evento de Cancelamento

  • Este tópico foi criado há 372 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

Boa tarde,

Ao tentar enviar um evento de cancelamento do BPe recebo a seguinte mensagem:

element evCancBPe: Schemas validity error : Element 'evCancBPe': No matching global declaration available for the validation root.
Rejeição: Falha no Schema XML específico para o evento

Anexo BPe emitido bem como logs e eventos

31190519339415000112630010000000111000023574-bpe.xml 1-env-lot.xml 1-env-lot-soap.xml 1-pro-lot.xml 1-pro-lot-soap.xml 1-eve.xml 1-eve-soap.xml 1-ped-eve.xml 1-ped-eve-soap.xml

Share this post


Link to post
Share on other sites

Boa tarde, 

Notei que a quantidade de caracteres informado no campo xJust (justificativa do cancelamento) tem menos de 15 caracteres.

Favor realizar um novo teste de tal forma que a quantidade de caracteres informado no campo xJust tenha no mínimo 15 e no máximo 255.

  • Like 1

Consultor SAC ACBr Italo Jurisato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Share this post


Link to post
Share on other sites

Bom dia,

Em qual momento ocorre esse erro?

É o componente que esta lhe apresentando essa mensagem ou você esta pegando o XML e tentando validar ele em algum site?

 

Pois pelos os XMLs que você anexou, o XML assinado do BPe foi gerado, foi enviado, a SEFAZ retornou o protocolo de autorização e o XML assinado foi atualizado, ou seja, agora ele tem o protocolo de autorização.

Foi gerado o XML do evento de pedido de cancelamento, ele foi enviado, a SEFAZ retornou o protocolo de homologação do cancelamento e foi gerado o arquivo *-procEventoBPe.xml que contem o pedido e o protocolo, até ai perfeito.

Foi solicitado uma consulta por chave, o XML foi gerado e enviado, a SEFAZ retornou o resultado dessa consulta, no XML de retorno temos a situação atual (cancelado), o protocolo de autorização e por fim o pedido de cancelamento com o protocolo de homologação do mesmo.

Resumindo, fazendo uma analise pelos arquivos XML, tudo ocorreu conforme o esperado.

  • Like 1

Consultor SAC ACBr Italo Jurisato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Share this post


Link to post
Share on other sites

Bom dia,

O componente ou alguma lib de validação de XML é que está apresentando essa mensagem.
A mensagem de erro de Schema "suja" o console (linux) mas o evento é processado e autorizado.
Fiz o teste na minha aplicação e usando o Demo_ACBrBPe (Cancelamento BPe pela Chave) e o comportamento é o mesmo:

element evCancBPe: Schemas validity error : Element 'evCancBPe': No matching global declaration available for the validation root.

O trecho de código que produz esse erro é bem simples:

CBrBPe1.EventoBPe.Evento.Clear;
ACBrBPe1.EventoBPe.LerFromIni('bil03-can.ini');
ACBrBPe1.EnviarEvento(ACBrBPe1.EventoBPe.idLote);
WriteLn('RetWS', ACBrBPe1.WebServices.EnvEvento.RetWS);
WriteLn('RetornoWS', ACBrBPe1.WebServices.EnvEvento.RetornoWS);

Vou anexar os arquivos INI (bilhete e evento) e os logs dos eventos além de um print para verem o que acontece.

Screenshot from 2019-05-23 11-57-17.png

bil03-bpe.ini bil03-can.ini 31190519339415000112630230000000051000023058-bpe.xml 1-eve.xml 1-eve-soap.xml 1-ped-eve.xml 1-ped-eve-soap.xml 1101113119051933941500011263023000000005100002305801-procEventoBPe.xml 1-env-lot.xml 1-env-lot-soap.xml 1-pro-lot.xml 1-pro-lot-soap.xml

Share this post


Link to post
Share on other sites

Boa tarde,

Já que você esta usando o componente, porque esta montando o arquivo INI, para depois carregar e por fim enviar?

Porque você não monta a rotina de cancelamento conforme o exemplo


Consultor SAC ACBr Italo Jurisato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Share this post


Link to post
Share on other sites

Fiz este teste também, mas mesmo pela rotina do Demo_ACBrBPe o erro acontece.
Autorizei um BPe, peguei o número e o protocolo, rodei o Demo_ACBrBPe e fiz o cancelamento pelo botão "Cancelamento BPe pela Chave" inserindo os valores solicitados.
No linux (não sei se no windows acontece o mesmo) ele vai fazer o cancelamento mas vai sujar o console com o erro mencionado.

Esse print que vou anexar é usando o botão do Demo_ACBrBPe (Cancelamento BPe pela Chave).

Olhe no terminal pra você ver o erro.

Anexarei os arquivos deste teste também.

Screenshot from 2019-05-23 17-10-35.png

31190519339415000112630230000000211000023051-bpe.xml 1-eve.xml 1-eve-soap.xml 1-ped-eve.xml 1-ped-eve-soap.xml 1101113119051933941500011263023000000021100002305101-procEventoBPe.xml

Share this post


Link to post
Share on other sites

Boa tarde,

Na unit ACBrBPeWebServices temos:

    with TACBrBPe(FPDFeOwner) do
    begin
      EventoEhValido := SSL.Validar(FPDadosMsg,
                                    GerarNomeArqSchema(FPLayout,
                                                       StringToFloatDef(FPVersaoServico, 0)),
                                    FPMsg) and
                        SSL.Validar(AXMLEvento,
                                    GerarNomeArqSchemaEvento(SchemaEventoBPe,
                                                             StringToFloatDef(FPVersaoServico, 0)),
                                    FPMsg);
    end;

É preciso "debugar" essas linhas para descobrir qual dos dois Validar esta gerando essa mensagem de erro.

  • Like 1

Consultor SAC ACBr Italo Jurisato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Share this post


Link to post
Share on other sites

Bom dia,

Como não consegui debugar pelo Lazarus vendo a saída do terminal (parece que realmente não é possível) coloquei alguns writeln no código e acho que o erro acontece no segundo Validar, mas daí pra frente não consegui progredir no debug.

Veja...

Screenshot from 2019-05-24 12-00-48.png

Share this post


Link to post
Share on other sites
  • Este tópico foi criado há 372 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui
Guest
This topic is now closed to further replies.

×
×
  • Create New...