Ir para conteúdo
  • Cadastre-se

dev botao

Problemas no método Validar (XML document must have a top level element"


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

Recommended Posts

Bom dia.

Após atualização dos fontes do ACBR, quando tento realizar o método Valida ocorre uma exceção retornando "XML document must have a top level element". O erro ocorre para para todos os documentos fiscais que crio, NF-e, CT-e, MDF-e e CF-e.

Porem este erro só ocorre no cliente, na maquina de desenvolvimento não ocorre.

Alguém pode me ajudar com este caso?

Agradeço desde já.

 

Link para o comentário
Compartilhar em outros sites

Boa tarde, obrigado pelo retorno.

O ambiente é o mesmo em diversos clientes, com o certificados devidamente instalados e de diversos tipos, a unica coisa que mudou foi a compilação do executável mesmo.

Desconfio das dlls, quais delas dever ser levadas a maquina do cliente e que que locais?

Por hora, retirei o método valida do sistema e deixei somente o Gerar e Enviar e com isso funcionou NF-e e CT-e, porem o mesmo erro esta ocorrendo no momento da emissão da carta de correção e neste não uso o método valida, só que a msg agora vem em português "O documento XML deve ter um elemento de nível superior"

Se tiver mais alguma dica agradeço muito.

Link para o comentário
Compartilhar em outros sites

Pessoal, se alguém puder me ajudar, realmente já tentei de tudo, inclusive já utilizei outro pc para compilação e o resultado é o mesmo!

Basicamente retirei o método validar, e resolvi as emissões, porem no momento de enviar a carta de correção da NF-e o mesmo erro persiste no comando enviar mesmo!

"XML document must have a top level element"

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 minuto atrás, rcdfb disse:

Pessoal, se alguém puder me ajudar, realmente já tentei de tudo, inclusive já utilizei outro pc para compilação e o resultado é o mesmo!

Basicamente retirei o método validar, e resolvi as emissões, porem no momento de enviar a carta de correção da NF-e o mesmo erro persiste no comando enviar mesmo!

"XML document must have a top level element"

é um problema local seu!

se fosse geral todos estariam relatando problemas não concorda?

pegue o demo e repasse um passo a passo como gerar o problema e também seu ambiente.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Pessoal, se alguém puder me ajudar, realmente já tentei de tudo, inclusive já utilizei outro pc para compilação e o resultado é o mesmo!

Basicamente retirei o método validar, e resolvi as emissões, porem no momento de enviar a carta de correção da NF-e o mesmo erro persiste no comando enviar mesmo!

"XML document must have a top level element"

1 minuto atrás, Juliomar Marchetti disse:

é um problema local seu!

se fosse geral todos estariam relatando problemas não concorda?

pegue o demo e repasse um passo a passo como gerar o problema e também seu ambiente.

Juliomar.

Sei que o problema é local meu, não estou falando que é no componente, mas mesmo assim imaginei que vocês conhecedores dos fontes poderiam ter alguma dica.

A questão de cadeia de certificados esta eliminada.

Dlls, copiei todas para a pasta system ou syswow64.

Imaginei algum tipo de conflito entre outros componentes, mas o fato de funcionar na maquina de desenvolvimento onde o instalador do ACBR atuou e na maquina no cliente não, me leva a crer que falta algo a ser encaminhado.

As dlls que devem ser enviadas são todas da pasta DLLs da raiz do repositório?

 

Link para o comentário
Compartilhar em outros sites

18 horas atrás, rcdfb disse:

Esta tentativa eu ainda não fiz, vou tentar agora e retorno a vcs.

Obrigado desde já.

André,bom dia

Consegui fazer o teste com o demo no cliente e o evento foi enviado normalmente.

Sei que o caso é bem estranho, e não tem um erro direto no componente, mas ainda assim é um erro que esta ocorrendo e pode assolar outros usuários.

Revisando o problema:

- Depois da atualização dos fontes, o método valida retorna o erro, retirei ele, e o sistema continuou funcionando bem.

- O erro só ocorre no método EnviarEvento, ou seja estou sem cancelamento de NF-e e Cartas de Correção.

- Já revisei todo o sistema, copiei dlls, revisei bem o demo, e nada.

- Uma curiosidade, o erro só acontece no cliente, na maquina de desenvolvimento vai de boa (Dai a grande dificuldade de depurar o problema)

- Tentei todas as combinações dos parâmetro do certificado e nada, (No SSL funciona bem)

Estou quase apelando para realizar um reverte no repositório para resolver meu problema, mas isso me levaria a ter problemas a curto prazo por ficar fora de atualizações e correções.

A avaliação que gostaria de vocês é a relação do metodo Valida e EnviarEvento, o que eles tem em comum, acho que isso pode ajudar no diagnostico, como uso muitas bibliotecas imagino que possa haver algum conflito entre elas e talvez isso esteja pegando, mas o fato de funcionar na maquina de desenvolvimento que me mata.

Agradeço desde já qualquer ajuda.

 

 

Link para o comentário
Compartilhar em outros sites

Prezados.

Após inúmeros teste com o showmessage, encontrei onde o erro ocorre no sistema rodando no cliente.

É na unit ACBrDFeXsMsXml.pas no método Validar no comando Schema.add(WideString(FpDFeSSL.NameSpaceURI), ArqSchema).

Porque motivo o meu executável não funcionaria corretamente e o demo sim? Lembrando que na maquina de desenvolvimento funciona tudo perfeitamente.

Abs.

Link para o comentário
Compartilhar em outros sites

  • Solution
1 hora atrás, André Ferreira de Moraes disse:

A pasta schema do seu aplicativo no cliente está atualizada?

Já verifiquei isso tmb, e este tudo ok, tanto que o demo rodando na mesma pasta e rodou de boa.

Estou trabalhando em limpezas de uses em meu sistema, ele é um ERP bem grande, e uso de tudo nele, talvez esteja tendo conflitos em declarações de TXMLDocument versão 1, 2,3, ect...

Achando a solução posto aqui! Qualquer outra dica será muitíssimo bem vinda.

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

Boa tarde!

Alguém resolveu esse problema?

Estou com a mesma situação em cliente. Na nossa base de testes no ambiente de homologação funciona corretamente e no ambiente de produção do cliente, não!.

Solicitei para o cliente atualizar os Schemas.

No meu caso, o evento é de Manifestação do Destinatário - Confirmação da Operação.

Obrigada!

Link para o comentário
Compartilhar em outros sites

Não consegui resolver até hoje!

Para mim o erro ocorre realmente no ACBrDFeXsMsXml.pas, na linha onde os schemas são carregados, parece que o versão do DOM carregado não é a esperado ou algo do tipo, estou rodando todos as rotinas em meus sistema sem rodar a validação.

Estou tendo sérios problemas, pois sem validação fico sem saber algum erros que ocorrem na emissão, saída paliativa é tratar o máximo de campos via sistema e validar via site nos últimos casos..

É lamentavel isso, mas tenho esta e outras questões que ocorrem nas atualizações do componente gerando certa instabilidade em meus sistemas.

Link para o comentário
Compartilhar em outros sites

Juliomar, concordo plenamente.

Porem isso não muda o problema, e para o meu projeto a unica coisa que aconteceu foi a atualização do componente.

Imaginei que o registro de alguma dll poderia ter efeito, visto que em minha maquina de desenvolvimento tudo funciona perfeito, somente no cliente o erro ocorre, onde executado a instalação do acbr tudo ocorre normalmente.

Neste ponto que talvez, o pessoal que desenvolveu a solução poderia dar alguma dica, entende?

Não sei se com o SAC esta solução poderia ocorrer, o que vc me recomenda?

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

tu mesmo acabou de dar a dica.

no seu micro de desenvolvimento funcionou, então confere o que faltou de dll que tem no seu micro pode ser isso.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Sei que parece uma boa dica, mas já revisei tudo e não tive resultados.

Já vi o fonte do instalador do acbr para observar quais dll são copiadas e pra onde, e ainda assim nada.

Em suma, continuo na mesma...

Esta unit ACBrDFeXsMsXml.pas na linha 258 Schema.add(WideString(FpDFeSSL.NameSpaceURI), ArqSchema);  é nela que o erro ocorre, descobri isso fazendo depuração via showmessage executando o aplicativo na máquina do cliente.

E o mais loco, se compilo o demo, o mesmo roda no cliente, é um problemas bem fora da curva mesmo.

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...

Bom dia.

Consegui resolver depois que ocorreu algumas atualizações no fonte e mudando a ordem da validação e assinatura.

Eu sempre validava antes de assinar, com a inversão disso passou a funcionar.

             ACBrNFe.NotasFiscais.GerarNFe;
             ACBrNFe.NotasFiscais.Assinar;
             ACBrNFe.NotasFiscais.Validar;

Executando na ordem acima com o fonte atualizado passou a funcionar normal.

 

Abs.

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...
  • Administradores

Bom dia.

Mesmo aplicando as sugestões dos posts nao resolveu?

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Bom dia!

Post antigo, mas novamente apos atualização dos últimos dias do component, onde diversos refactor foram feitos, o mesmo erro volta a acontecer!

 

Pois é, a dia inclusive foi minha mesmo, na voltou o erro.

Estou realizando algumas experiencias e mudar o SSLXmlSignLib, poi o problema esta no uso do xsMsXml.

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

  • 10 meses depois ...
  • Membros Pro

A quem possa interessar, é bom verificar se os arquivos de schemas não estão danificados.

No meu caso um arquivo de validação (e210220_v1.00.xsd) estava nulo e ocasionava o erro citado no momento de realizar o "desconhecimento de operação".

Substitui por um arquivo íntegro e funcionou normalmente.

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

  • Este tópico foi criado há 1638 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.