Jump to content

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

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

Bom dia,

Favor atualizar os fontes e faça novos testes, acredito ter encontrado o problema.


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

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.


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
Guest
This topic is now closed to further replies.

×
×
  • Create New...