Membros Pro Rodrigo - Digibyte Postado 21 Março Membros Pro Postado 21 Março Estava tentando começar a usar a leitura de retorno em stream, usando a demo, e não consegui fazer funcionar. O método boleto.LerRetornoStream apenas retorna uma string codificada, sem preencher as propriedades do boleto. Abaixo como é chamado na demonstração C#: using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read)) { using (StreamReader reader = new StreamReader(fileStream)) { string retString = reader.ReadToEnd(); byte[] retByte = Encoding.UTF8.GetBytes(retString); var retBase64 = System.Convert.ToBase64String(retByte); var ret = boleto.LerRetornoStream(retBase64); rtbRespostas.AppendLine(ret); } } Olhando o código da LIB, pelo que pude ententer, foi criado o método TACBrLibBoleto.LerRetornoStream que parece substituir dois métodos usados para ler o arquivo diretamente: TACBrLibBoleto.LerRetorno e TACBrLibBoleto.ObterRetorno. Porém note que o retorno de LerRetornoStream é diferente, por exemplo não está implementado o código abaixo que existe em ObterRetorno: RespRetorno := TRetornoBoleto.Create(Config.TipoResposta, Config.CodResposta); try RespRetorno.Processar(BoletoDM.ACBrBoleto1); Resposta := RespRetorno.Gerar; Finally RespRetorno.Free; end; MoverStringParaPChar(Resposta, sResposta, esTamanho); Result := SetRetorno(ErrOK, Resposta); Enfim, não entendi muito bem o LerRetornoStream, me parece estar errado se comparar com LerRetorno.
Consultores Júlio Cavalcanti Postado 21 Março Consultores Postado 21 Março O LerRetorno (Stream) devolve o Base64 que precisa ser decodificado para ficar legível. O LerRetorno devolve o .ini em formato de String e popula a classe. 1
Membros Pro Rodrigo - Digibyte Postado 21 Março Autor Membros Pro Postado 21 Março Certo, então eu teria que decodificar o retorno. E depois como popular a classe, existe algum método do ACBR pra isso? Entendi que não é assim mas LerRetorno e LerRetornoStream não deveriam teoricamente dar o mesmo resultado (abstrair) visto que apenas estou mudando a forma de ler o CNAB?
Membros Pro Rodrigo - Digibyte Postado 24 Março Autor Membros Pro Postado 24 Março Em 21/03/2025 at 12:01, Rodrigo - Digibyte disse: Certo, então eu teria que decodificar o retorno. E depois como popular a classe, existe algum método do ACBR pra isso? Entendi que não é assim mas LerRetorno e LerRetornoStream não deveriam teoricamente dar o mesmo resultado (abstrair) visto que apenas estou mudando a forma de ler o CNAB? Bom dia, creio o método LerRetornoStream teria que ser modificado para ter o mesmo comportamento de LerRetorno na lib, semelhante ao método TACBrBoleto.LerRetorno que pode ler um arquivo ou stream e produz o mesmo resultado.
Consultores Júlio Cavalcanti Postado 24 Março Consultores Postado 24 Março Boa tarde, @Rodrigo - Digibyte. Vou realizar um teste com a implementação atual.
Consultores Júlio Cavalcanti Postado 24 Março Consultores Postado 24 Março Realmente, o LerRetorno via Stream não injeta nas classes. Criamos a TK-6805 para implementar esse fluxo.
Recommended Posts