Pesquisar na Comunidade
Showing results for tags 'libxml2'.
Encontrado 10 registros
-
Boa tarde! Gostaria de fazer uma contribuição referente a mensagem de erro que a LibXml2 retorna ao identificar uma tag com valor incorreto (maior que o permitido, menor que o permitido, etc.). Atualmente, a mensagem está assim: --> 1831 - Element '{http://www.portalfiscal.inf.br/nfe}xBairro': [facet 'minLength'] The value has a length of '1'; this underruns the allowed minimum length of '2'. Dependendo da tag, ela se repete várias vezes no XML e demoramos mais para identificar onde ela realmente está na estrutura. Então quis colocar o caminho completo da estrutura do XML até chegar na tag problemática, para ficar assim: --> 1831 - Element '{http://www.portalfiscal.inf.br/nfe}/NFe/infNFe/dest/enderDest/xBairro': [facet 'minLength'] The value has a length of '1'; this underruns the allowed minimum length of '2'. Procurei nos fontes e não encontrei nada que ativasse esse comportamento. Por isso criei um método que devolve o caminho completo do nodo raiz até a tag. Na ACBrLibXml2.pas, o novo método: function xmlGetNodePathNoNS(Node: xmlNodePtr): string; var s: String; begin Result := ''; while Assigned(Node) do begin // xmlNode.name é um PAnsiChar, converte para string Delphi s := Trim(string(Node^.name)); if s <> '' then Result := '/' + s + Result; Node := Node^.parent; end; end; E na ACBrDFeXsLibXml2.pas, alterei a parte que atribui a mensagem de erro ao Result na TentaPegarMensagemErroDetalhada. A ideia é substituir o "xBairrro" pelo retorno da função xmlGetNodePathNoNS. function TDFeSSLXmlSignLibXml2.TentaPegarMensagemErroDetalhada(const MsgErroAtual: string): String; var prtUltimoErroXml: xmlErrorPtr; begin Result := ''; prtUltimoErroXml := xmlGetLastError(); if prtUltimoErroXml = nil then begin Result := MsgErroAtual; Exit; end; Result := MsgErroAtual + ' --> ' + IntToStr(prtUltimoErroXml^.code); if (prtUltimoErroXml^.message <> nil) then //Result := Result + ' - ' + prtUltimoErroXml^.message; //Era assim Result := Result + ' - ' + StringReplace(prtUltimoErroXml^.message, xmlNodePtr(prtUltimoErroXml^.node)^.name, xmlGetNodePathNoNS(prtUltimoErroXml^.node), [rfIgnoreCase]); //Ficou assim end; Estou a disposição para discutir se essa seria a melhor maneira de fazer isso.
-
Mudar o caminho de leitura das dll do LibXml2
um tópico no fórum postou Messias Antonio Natal Dúvidas Gerais sobre o ACBr
Nos tópicos referente ao erro de inicialização da biblioteca LibXML2 pedem para que as dlls da pasta LibXml2 sejam distribuídos junto com o executável, no projeto que trabalho existe uma configuração de pasta para dlls onde existe a pasta de x86 e x64. A dúvida é existe uma forma de configurar o Acbr o caminho de leitura dessas dll assim não precisaria deixar as dll no caminho do executável ? Obs: Seria possível estar distribuindo essas dlls nas pastas do windows "System32" e "SysWOW64" porem eu não queria fazer desta forma -
-
Estamos há algum tempo trabalhando e desenvolvendo algumas de nossas soluções em ambiente C e com isso adquirimos know-how e hoje compilamos nossas libs para Windows, Linux e ARM (32 e 64) bits. Percebi que poderíamos ajudar no item 2 do tópico: http://www.projetoacbr.com.br/forum/topic/35727-bye-bye-capicom/ Resolvemos preparar um passo a passo de como criar desde o ambiente até a compilação das libs libxmlsec e libxml2 e disponibilizar para o ACBr. Com isso qualquer um que se interessar poderá compilar as libs no ambiente Windows 32 e 64 bits e disponibilizar para o uso das libs atuais. ps: Não consegui postar no tópico de que se trata esse assunto.
-
Atualizei recentemente o ACBr e percebi que foi disponibilizada uma nova versão da LibXML2 em "C:\ACBr\DLLs\LibXml2\". Ao incluir estas DLLs em nosso sistema ocorreram alguns erros e ao investigar o ocorrido notei que as DLLs disponibilizadas em "C:\ACBr\DLLs\LibXml2\x86" são 64-bits. Procurando por informações no fórum, achei uma resposta do @Felipe E. Resende Mesquita no post "Erro ao Assinar XML - ACBrEsocial" onde ele indica as DLLs em "C:\ACBr\DLLs\XMLSec\MinGW" Gostaria de saber quais são as DLLs recomendadas para o uso com o ACBr? @Juliana Tamizou
-
Erro ocorre quando assina o XML.
-
Nova Biblioteca para Assinatura de XMLs baseada apenas na LibXML2
um tópico no fórum postou Rafael Dias Dúvidas Gerais sobre o ACBr
As novas units foram enviadas para o SVN- 35 replies
-
- 11
-
-
-
Erro relacionado a canais seguros windows 7 com LibXML2
um tópico no fórum postou ricardolopes ACBrNFe
Olá pessoal bom dia. Sei que esse assunto já foi amplamente discutido e apontado soluções. Mas no nosso caso aqui não estamos conseguindo resolver e vem acontecendo muitos casos, o detalhe é que começou a acontecer com mais frequência depois que alteramos para usar o novo método de assinatura com LibXML2, pergunto teria algo a ver? Nosso executável está funcionando bem no Windows 10, porém em alguns casos na mesma rede, mesmo executável que ele aponta erro de canais seguros no Windows xp e 7, já defini as configurações conforme foi amplamente falado, ou seja: 1-Redefinir as configuracoes de Internet 2-) habilitar conforme imagem abaixo (NF-e 3.1 windows 7) E mesmo assim o problema continua, por outro lado existe máquinas com windows 7 enviando e autorizando normalmente. Alguém poderia dar alguma dica, lembrando que isso começo a acontecer depois que removemos a utilização de Capicom. Grande abraço a todos e obrigado.- 7 replies
-
- nfe
- canais seguros
-
(e 2 mais)
Tags:
-
Prezados, estou tentando executar o Demo_ACBrNFSE.exe mas recebo o seguinte erro: "Não é possível iniciar o programa porque libxml2.dll está em falta no computador. Tente reinstalar o programa para corrigir este problema." O executável está dentro da pasta "ArqINI" com os arquivos de configuração. Win10 64bits. Desde já, grata pela atenção. Flávia
-
Falha na validação do xml com a libxml2.dll
um tópico no fórum postou Victor Tadashi Dúvidas Gerais sobre o ACBr
Migrando para o OpenSSL, passei pela seguinte situação: Na emissão de uma NF-e, meu xml é considerado inválido pelos schemas (xmlSchemaValidateDoc da libxml2.dll). O erro a principio é um erro "básico" e bastante conhecido: "Element '{http://www.portalfiscal.inf.br/nfe}uTrib': 'UN' is not a valid value of the local atomic type". Encontrei vários tópicos sobre este assunto, mas todos eles um tanto quanto antigos. Encontrei até um posto, onde parece que isso é um erro da própria dll. As sugestões encontradas, foram: Utilizar "UNI" em vez de "UN"; Modificar o schema a expressão dp iipo string genérico (tiposBasico_vX.XX); Gostaria de saber do pessoal que está utilizando OpenSSL, como estão contornando esse problema. Obrigado. Obs.: A versão 4.00 do arquivo tiposBasico, continua da mesma forma.
