Ir para conteúdo
  • Cadastre-se

fidel

Membros
  • Total de ítens

    11
  • Registro em

  • Última visita

Últimos Visitantes

1.178 visualizações

fidel's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

2

Reputação

  1. fidel

    Erro msvcrt

    Eu estava com o mesmo problema no Esocial, resolvi copiando a libxml2.dll do diretorio C:\acbr\DLLs\LibXml2\x64 para o diretorio do windows C:\Windows\SysWOW64. Obs: estou usando o windows 7.
  2. Eu estava com o mesmo problema no Esocial, resolvi copiando a libxml2.dll do diretorio C:\acbr\DLLs\LibXml2\x64 para o diretorio do windows C:\Windows\SysWOW64. Obs: estou usando o windows 7.
  3. Bom dia, Sandro SIM. Agora esta dando este erro: no programa ACBrDFeXsXmlSec nesta linha: { sign the template } SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode);
  4. Bom dia. Renato Agora esta dando este erro: no programa ACBrDFeXsXmlSec nesta linha: { sign the template } SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode);
  5. Obs estou usando o delphi XE7
  6. Desculpa , o erro esta nesta rotina em vermelho, o doc esta retorna ndo nil function TDFeSSLXmlSignXmlSec.XmlSecSign(const ConteudoXML: AnsiString; SignatureNode, SelectionNamespaces, InfElement: AnsiString): AnsiString; var doc: xmlDocPtr; SignNode: xmlNodePtr; buffer: PAnsiChar; bufSize, SignResult: integer; xmlsecMsg: PAnsiChar; begin doc := Nil; Result := ''; if Trim(ConteudoXML) = '' then Exit; CreateCtx; try { load template } doc := xmlParseDoc(PAnsiChar(ConteudoXML)); if (doc = nil) then raise EACBrDFeException.Create(cErrParseDoc); { Dispara Exception se não encontrar o SignNode } SignNode := XmlSecFindSignatureNode(doc, SignatureNode, SelectionNamespaces, InfElement); { sign the template } SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode); if (SignResult < 0) then begin xmlsecMsg := xmlSecErrorsGetMsg(2); raise EACBrDFeException.CreateFmt(cErrDSigSign + sLineBreak + xmlsecMsg, [SignResult]); end; { print signed document to stdout } // xmlDocDump(stdout, doc); // Can't use "stdout" from Delphi, so we'll use xmlDocDumpMemory instead... buffer := nil; xmlDocDumpMemory(doc, @buffer, @bufSize); if (buffer <> nil) then { success } Result := buffer; finally { cleanup } if (doc <> nil) then xmlFreeDoc(doc); DestroyCtx ; end; end; Obs: esta rotina esta no ACBrDFeXsXmlSec.
  7. eu atualizei o ACBrReinf.rar e compilei o ACBr_DFeComum mas continua dando o mesmo erro nesta rotina grifada em vermelho. nao sei onde estou errando. ACBRDFESSL function TDFeSSL.Assinar(const ConteudoXML, docElement, infElement: String; SignatureNode: String; SelectionNamespaces: String; IdSignature: String; IdAttr: String ): String; Var XmlAss, DeclaracaoXMLAntes, DeclaracaoXMLDepois: String; Assinado: Boolean; begin // Nota: ConteudoXML, DEVE estar em UTF8 // // Lendo Header antes de assinar, Se Header não for UTF8 não usa... // if XmlEhUTF8(ConteudoXML) then DeclaracaoXMLAntes := ObtemDeclaracaoXML(ConteudoXML) else DeclaracaoXMLAntes := ''; Assinado := False; if Assigned(FAntesDeAssinar) then begin XmlAss := ConteudoXML; FAntesDeAssinar( XmlAss, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature); Assinado := (XmlAss <> ConteudoXML); end; if not Assinado then begin XmlAss := FSSLXmlSignClass.Assinar( ConteudoXML, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature, IdAttr); // Verificando se modificou o Header do XML assinado, e voltando para o anterior // if (DeclaracaoXMLAntes <> '') then begin DeclaracaoXMLDepois := ObtemDeclaracaoXML(XmlAss); if (DeclaracaoXMLDepois = '') then XmlAss := DeclaracaoXMLAntes + XmlAss else if (DeclaracaoXMLAntes <> DeclaracaoXMLDepois) then XmlAss := StringReplace(XmlAss, DeclaracaoXMLAntes, DeclaracaoXMLDepois, []); end; end; Result := XmlAss; end;
  8. Obrigado. agora OK. Desculpa. mas agora esta dando o seguinte erro.
  9. Obrigado. mas continua dando erro agora nesta linha XMLAss := SSL.Assinar(ArqXML, 'Reinf', String(ANomeEvento), '', '', '', 'id'); em anexo rotina do ACBrReinfEventosBase. function TEventoReinf.Assinar(AXMLEvento, ANomeEvento: AnsiString): AnsiString; var XMLAss: string; ArqXML: string; begin Result := ''; ArqXML := string(AXMLEvento); ArqXML := ConverteXMLtoUTF8(ArqXML); FXMLOriginal := ArqXML; with TACBrReinf(FACBrReinf) do begin //XMLAss := SSL.Assinar(ArqXML, 'Reinf', String(ANomeEvento)); //XMLAss := SSL.Assinar(ArqXML, 'Reinf', '','','', Self.Id()); XMLAss := SSL.Assinar(ArqXML, 'Reinf', String(ANomeEvento), '', '', '', 'id'); FXMLAssinado := XMLAss; FXMLOriginal := XMLAss; XMLAss := StringReplace(XMLAss, '<' + ENCODING_UTF8_STD + '>', '', [rfReplaceAll]); XMLAss := StringReplace(XMLAss, '<' + XML_V01 + '>', '', [rfReplaceAll]); ANomeEvento := ANomeEvento + '.xml'; if Configuracoes.Arquivos.Salvar then Gravar(string(ANomeEvento), XMLAss,Configuracoes.Arquivos.PathSalvar); Result := AnsiString(XMLAss); {$IFDEF DEBUG} With TStringList.Create do try Text := XMLAss; SaveToFile(IncludeTrailingPathDelimiter(ExtractFileDir(ParamStr(0))) + 'Docs\' + ANomeEvento); finally Free; end; {$ENDIF} end; end;
  10. XMLAss := SSL.Assinar(ArqXML, 'Reinf', String(ANomeEvento)); esta dando erro
×
×
  • 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.