Ir para conteúdo
  • Cadastre-se

dev botao

NFCe - Evento Epec - Schema Invalido


Saulo Nunes
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 1688 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá Pessoal,

Estou com um erro na hora de enviar um evento EPEC. Falha na validação da Mensagem do Evento: Erro: Schema inválido"

O Erro Ocorre na Unit:   ACBrDFeXsLibXml2

No Evento: TDFeSSLXmlSignLibXml2.Validar ->  schema := xmlSchemaParse(parser_ctxt);

Usei o Modelo abaixo como exemplo:

O Código pra Enviar o EPEC

    ACBrNFe.EventoNFe.Evento.Clear;
    //
    with ACBrNFe.EventoNFe.Evento.New do
     begin
       infEvento.chNFe                  := ChaveNota;
       infEvento.CNPJ                   := EmitCNPJ;
       infEvento.dhEvento               := now;
       infEvento.tpEvento               := teEPECNFe;
       infEvento.cOrgao                 := 35;
       infEvento.nSeqEvento             := 1;
       infEvento.versaoEvento           := '1.00';
       infEvento.detEvento.cOrgaoAutor  := StrToInt(Copy(ChaveNota, 1, 2)); 
       InfEvento.detEvento.tpAutor      := taEmpresaEmitente;
       infEvento.detEvento.verAplic     := frmMain.VersaoSystem;
       InfEvento.detEvento.dhEmi        := ACBrNFe.NotasFiscais.Items[0].NFe.Ide.dhCont;
       InfEvento.detEvento.tpNF         := ACBrNFe.NotasFiscais.Items[0].NFe.Ide.tpNF;
       InfEvento.detEvento.IE           := EmitIE;
       InfEvento.detEvento.vNF          := ACBrNFe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF;
       InfEvento.detEvento.vICMS        := ACBrNFe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS;
       InfEvento.detEvento.vST          := ACBrNFe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vST;
       //DEST
       InfEvento.detEvento.dest.UF      := ACBrNFe.NotasFiscais.Items[0].NFe.Dest.EnderDest.UF;
       InfEvento.detEvento.dest.CNPJCPF := ACBrNFe.NotasFiscais.Items[0].NFe.Dest.CNPJCPF ;
       InfEvento.detEvento.dest.IE      := ACBrNFe.NotasFiscais.Items[0].NFe.Dest.IE;
     end;
     ACBrNFe.EnviarEvento(StrToInt(numLote));

O Acbr ta atualizado e estou usando a pasta schema dentro de C:\Acbr\trunk2\Exemplos\ACBrDFe\Schemas\NFe

Para tentar identificar o erro eu mudei a rotina pre ler o xml em anexo

ACBrNFe.EventoNFe.GerarXML;
ACBrNFe.EventoNFe.Gerador.SalvarArquivo('Z:\SAULOx.xml',fgXML);

Pelo que vi não esta sendo montado o xml corretamente, e talvez esse seja o problema. só não sei identificar o porque.

Alguem tem alguma sugestão pra resolver esse problema?

eu tambem ja tentei ajustar o xml conforme o layout Nota Técnica 2014/001 (Evento EPEC) usando  ACBrNFe.EventoNFe.LerXML('Z:\SAULO2.xml'); pra ver ver se envia, e me retorna outro erro. Falha na validação da Mensagem do Evento: 1871 - Element '{http://www.portalfiscal.inf.br/nfe%7DchNFe': This element is not expected. Expected is one of ( {http://www.portalfiscal.inf.br/nfe%7DCNPJ, {http://www.portalfiscal.inf.br/nfe%7DCPF, (Debugando Este erro vi que ele tenta abrir o schema envEvento_v1.00.xsd e logo em seguida retorna este erro)

Obrigado Pessoal, Qualquer ajuda é bem vinda.

 

SAULOx.xml SAULO2.xml

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Schema inválido, significa que a LimXML2 não conseguiu carregar o arquivo XSD... ou seja, pode ser que o arquivo esteja corrompido..

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Daniel Simoes disse:

Schema inválido, significa que a LimXML2 não conseguiu carregar o arquivo XSD... ou seja, pode ser que o arquivo esteja corrompido..

 

Oi Daniel, Obrigado pela resposta.

no caso eu ja fiz varios testes incluindo atualizar e reinstalar o acbr.

o ultimo teste eu fiz um checkout em uma pasta no desktop direto do http://svn.code.sf.net/p/acbr/code/trunk2/Exemplos/ACBrDFe/Schemas/NFe/

Outro detalhe, os outros eventos como gerarnfe, cancelar etc.. estao funcionando normalmente

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Sim.. o que indica que o problema é em algum XSD especifico... Cada WebService irá carregar um (ou vários) XSD...

Com o Debug você conseguirá verificar exatamente, qual o nome do arquivo XSD que está com erro na carga (corrompido)...

Após isso precisamos comparar esse XSD com o original, fornecido pelo Fisco

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
36 minutos atrás, Saulo Nunes disse:

ACBrNFe.EventoNFe.GerarXML;
ACBrNFe.EventoNFe.Gerador.SalvarArquivo('Z:\SAULOx.xml',fgXML);

Pelo que vi não esta sendo montado o xml corretamente, e talvez esse seja o problema. só não sei identificar o porque.

Em vez desses comandos, use apenas:

ACBrNFe.EnviarEvento(nLote);

Assim o XML já é gerado com o número do lote e assinado, duas das coisas que estão faltando no seu XML.

  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

8 minutos atrás, Daniel Simoes disse:

Sim.. o que indica que o problema é em algum XSD especifico... Cada WebService irá carregar um (ou vários) XSD...

Com o Debug você conseguirá verificar exatamente, qual o nome do arquivo XSD que está com erro na carga (corrompido)...

Após isso precisamos comparar esse XSD com o original, fornecido pelo Fisco

Oi Daniel,

OBrigado Novamente pelo retorno. 

eventoEPEC_v1.00.xsd

No caso fui debugando aki as variaveis até o momento q dá InacessibleValue. acredito que seja o eventoEPECv1.00.xsd.

o problema é q ja subsitui este arquivo pelo da sefaz e 

 

 

1.png

2.png

3.png

1 minuto atrás, BigWings disse:

Em vez desses comandos, use apenas:


ACBrNFe.EnviarEvento(nLote);

Assim o XML já é gerado com o número do lote e assinado, duas das coisas que estão faltando no seu XML.

Oi, obrigado pelo retorno.

no caso eu uso o EnviarEvento da forma como você informou, eu só mudei o meu codigo pra debugar, pq ele nao tava salvando o xml, e eu queria ver como q ele tava alimentando o mesmo.

 

vlw

Link para o comentário
Compartilhar em outros sites

  • Moderadores
27 minutos atrás, Saulo Nunes disse:

No caso fui debugando aki as variaveis até o momento q dá InacessibleValue. acredito que seja o eventoEPECv1.00.xsd.

Experimente substituir a pasta de Schemas com o arquivo em anexo:

 

eventoEPEC_v1.00.xsd

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, BigWings disse:

Experimente substituir a pasta de Schemas com o arquivo em anexo:

 

eventoEPEC_v1.00.xsd 17 kB · 2 downloads

Oi @BigWings Obrigado pelo seu retorno,

agora esta me retornando outro erro: Falha na validação dos dados do Evento: 1871 - Element '{http://www.portalfiscal.inf.br/nfe}vNF': This element is not expected.

Sabes me dizer se este erro eu trato pelo delphi?
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
13 minutos atrás, Saulo Nunes disse:

Oi @BigWings Obrigado pelo seu retorno,

agora esta me retornando outro erro: Falha na validação dos dados do Evento: 1871 - Element '{http://www.portalfiscal.inf.br/nfe}vNF': This element is not expected.

Sabes me dizer se este erro eu trato pelo delphi?

Isso indica uma formação errada do XML com relação à tag vNF.

O seu arquivo SAULOx.xml está com a tag no local correto, de acordo com o schema, já o seu arquivo SAULO2.xml está com a mesma dentro do grupo dest.

Esse erro ocorreu chamando o ACBrNFe.EnviarEvento()?

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, BigWings disse:

Isso indica uma formação errada do XML com relação à tag vNF.

O seu arquivo SAULOx.xml está com a tag no local correto, de acordo com o schema, já o seu arquivo SAULO2.xml está com a mesma dentro do grupo dest.

Esse erro ocorreu chamando o ACBrNFe.EnviarEvento()?

o arquivo SAULOx.xml foi gerado pelo acbr, já o SAULO2.xml foi eu ajustando usando a Nota Técnica 2014/001 pra tentar identificar se o método enviar ta comerro.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
4 minutos atrás, Saulo Nunes disse:

o arquivo SAULOx.xml foi gerado pelo acbr, já o SAULO2.xml foi eu ajustando usando a Nota Técnica 2014/001 pra tentar identificar se o método enviar ta comerro.

Lendo os fontes acredito que o ACBr esteja gerando o XML correto, ajustando pra NT 2014.001 no caso do EPEC NFCe.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Pelo que notamos... o arquivo eventoEPEC_v1.00.xsd, disponibilizado pelo Sefaz, não está em alinhado com a versão 4.0 da NFCe...

Acho que niguém usa o EPEC como contingência para NFCe em SP... tendo em vista que é obrigatório a presença de um SAT, para casos de contingência da NFCe, em SP

Convêm interrogar o SEFAZ, por um Schema de EPEC mais atualizado

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Agora, Daniel Simoes disse:

Pelo que notamos... o arquivo eventoEPEC_v1.00.xsd, disponibilizado pelo Sefaz, não está em alinhado com a versão 4.0 da NFCe...

Acho que niguém usa o EPEC como contingência para NFCe em SP... tendo em vista que é obrigatório a presença de um SAT, para casos de contingência da NFCe, em SP

Convêm interrogar o SEFAZ, por um Schema de EPEC mais atualizado

Obrigado Pelo Suporte @Daniel Simoes E @BigWings to desde quinta nisso, vou repassar pro contador e ver o que podemos fazer, assim qeu tiver um feedback posto o resultado aki okay.

 

vlw pessoal

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Saulo,

Veja esse fragmento de código do ACBr:

            if sModelo = '55' then
              GerarDestNFe(Evento.Items[i])
            else begin
              GerarDestNFCe(Evento.Items[i]);
              // No EPEC da NFC-e segundo o schema as TAGs vNF e vICMS estão fora do grupo dest e não
              // tem a TAG vST.
              Gerador.wCampo(tcDe2, 'P32', 'vNF',   01, 15, 1, Evento.Items[i].InfEvento.detEvento.vNF, DSC_VNF);
              Gerador.wCampo(tcDe2, 'P33', 'vICMS', 01, 15, 1, Evento.Items[i].InfEvento.detEvento.vICMS, DSC_VICMS);
            end;

Os especialistas da SEFAZ tiveram a criatividade absurda de criar 2 layouts diferentes para o mesmo tipo de evento.

Para o EPEC da NF-e os campos: vNF, vICMS e cST são obrigatórios e estão dentro do grupo dest.

Já no caso da NFC-e eles estão fora e só tem os campos vNF e vICMS.

Estou estudando uma maneira de resolver o problema de validação da aera especifica do evento, visto que a área genérica é igual para todos os eventos.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato 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

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

28 minutos atrás, Italo Jurisato Junior disse:

Boa tarde Saulo,

Veja esse fragmento de código do ACBr:


            if sModelo = '55' then
              GerarDestNFe(Evento.Items[i])
            else begin
              GerarDestNFCe(Evento.Items[i]);
              // No EPEC da NFC-e segundo o schema as TAGs vNF e vICMS estão fora do grupo dest e não
              // tem a TAG vST.
              Gerador.wCampo(tcDe2, 'P32', 'vNF',   01, 15, 1, Evento.Items[i].InfEvento.detEvento.vNF, DSC_VNF);
              Gerador.wCampo(tcDe2, 'P33', 'vICMS', 01, 15, 1, Evento.Items[i].InfEvento.detEvento.vICMS, DSC_VICMS);
            end;

Os especialistas da SEFAZ tiveram a criatividade absurda de criar 2 layouts diferentes para o mesmo tipo de evento.

Para o EPEC da NF-e os campos: vNF, vICMS e cST são obrigatórios e estão dentro do grupo dest.

Já no caso da NFC-e eles estão fora e só tem os campos vNF e vICMS.

Estou estudando uma maneira de resolver o problema de validação da aera especifica do evento, visto que a área genérica é igual para todos os eventos.

vlw pelo feedback @Italo Jurisato Junior, kkkkkk passei por esse trecho no debug mas tava tao focado em achar o schema q nem parei pra analisar a montagem do xml. acho que o jeito vai ser ter 2 schemas de acordo com o modelo. vou preparar um email pra sefaz e vou inserir essas informações. obrigado pelo suporte

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Saulo,

Vamos aos testes.

Copie para dentro da pasta: ...\Exemplos\ACBrDFe\Schemas\NFe  os schemas abaixo.

e110140NFe_v1.00.xsd

e110140NFCe_v1.00.xsd

Copie para dentro da pasta: ...\Fontes\ACBrDFe\ACBrNFe o fonte abaixo.

ACBrNFe.pas

Faça um novo teste de envio de EPEC de uma NFC-e.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato 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

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

4 horas atrás, Italo Jurisato Junior disse:

Saulo,

Vamos aos testes.

Copie para dentro da pasta: ...\Exemplos\ACBrDFe\Schemas\NFe  os schemas abaixo.

e110140NFe_v1.00.xsd 4 kB · 1 download

e110140NFCe_v1.00.xsd 4 kB · 1 download

Copie para dentro da pasta: ...\Fontes\ACBrDFe\ACBrNFe o fonte abaixo.

ACBrNFe.pas 30 kB · 2 downloads

Faça um novo teste de envio de EPEC de uma NFC-e.

@Italo Jurisato Junior mto obrigado, agora funcionou e gerou o xml. embora esteja dando erro 500 do servidor, mas é outro problema.
 

"mensagem": " Erro Causado com a Mensagem : \r\nErro Interno: 0\r\nErro HTTP: 500\r\nURL: https://homologacao.nfce.epec.fazenda.sp.gov.br/EPECws/RecepcaoEPEC.asmx\r\n",
 
o xml gerado ta em anexo.
 
 
 

1-ped-eve.xml

Link para o comentário
Compartilhar em outros sites

  • Fundadores
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não necessariamente... o erro 500 ocorreria se o servidor não compreendesse o SOAP de entrada...

Compare o ped-eve-soap.xml  com o do site do servidor

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

13 minutos atrás, Daniel Simoes disse:

Não necessariamente... o erro 500 ocorreria se o servidor não compreendesse o SOAP de entrada...

Compare o ped-eve-soap.xml  com o do site do servidor

oi @Daniel Simoes desculpe a ignorancia, mas esse arquivo ped-eve-soap.xml teria q ser gerado junto com o 1-ped-eve.xml? o unico arquivo gerado que tenho aki é o ped-eve.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores
12 horas atrás, Saulo Nunes disse:

 mto obrigado, agora funcionou e gerou o xml. embora esteja dando erro 500 do servidor, mas é outro problema.

Experimente configurar o componente para a versão 3.10 antes do envio do evento.

11 horas atrás, Saulo Nunes disse:

oi @Daniel Simoes desculpe a ignorancia, mas esse arquivo ped-eve-soap.xml teria q ser gerado junto com o 1-ped-eve.xml? o unico arquivo gerado que tenho aki é o ped-eve.xml

Definindo a propriedade:

ACBrNFe.Configuracoes.WebServices.Salvar := True;

São gravados os arquivos XML envelopados (*-soap.xml) que são os efetivamente enviados para o webservice.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

25 minutos atrás, BigWings disse:

Experimente configurar o componente para a versão 3.10 antes do envio do evento.

Definindo a propriedade:

ACBrNFe.Configuracoes.WebServices.Salvar := True;

São gravados os arquivos XML envelopados (*-soap.xml) que são os efetivamente enviados para o webservice.

oi @BigWings vlw pelo retorno. ja ativei pra salvar o soap. o erro continua dando 500. confesso que agora estou perdido. alguma indicação de pesquisa/leitura?

1-ped-eve-soap.xml 1-ped-eve.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores
6 minutos atrás, Saulo Nunes disse:

oi @BigWings vlw pelo retorno. ja ativei pra salvar o soap. o erro continua dando 500. confesso que agora estou perdido. alguma indicação de pesquisa/leitura?

1-ped-eve-soap.xml 5 kB · 0 downloads 1-ped-eve.xml 5 kB · 0 downloads

O que parece é que esse webservice não foi atualizado pra versão 4.00 do XML e ainda está esperando um XML SOAP no formato antigo.

Você configurou o componente pra versão 3.10?

  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, BigWings disse:

O que parece é que esse webservice não foi atualizado pra versão 4.00 do XML e ainda está esperando um XML SOAP no formato antigo.

Você configurou o componente pra versão 3.10?

Configuracoes.Geral.VersaoDF              := TpcnVersaoDF(Self.VersaoDF); //ve400

To passando 4.00

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1688 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.