Olá, fiz um fonte em tlpp para transferência de notas de um SFTP para outro, utilizando um outro servidor como ponte nomeado de "Itália".
Exemplo: SFTP1 -> Servidor ponte -> SFTP2. Estou utilizando o servidor como ponte pois não consigo transferir diretamente.
Segue um trecho do fonte:
[...]
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),"TMPNOT",.T.,.T.)
While !TMPNOT->(Eof())
cDireLoja := "lj0000"+TMPNOT->F2_FILIAL+"/"
cDiretDia := SubStr(TMPNOT->F2_EMISSAO,7,2)+"/"
cDirPerio := SubStr(TMPNOT->F2_EMISSAO,1,6)+"/"
cNomeNota := "NFe"+TMPNOT->F2_CHVNFE+"-nfe.xml"
cDireNota := "/dados/"+cDirPerio+cDiretDia+cDireLoja+"sent/"+cNomeNota
Do Case
//: Transfere para o Itália
Case oVMSFTP:ReceiveFile("/agile_notas/"+cNomeNota,cDireNota) != 0
aAdd(aLogErr,{cNomeNota,"Receive File"})
//: Transfere para a Ágile
Case oAgile:SendFile("/agile_notas/"+cNomeNota,cNomeNota) != 0
aAdd(aLogErr,{cNomeNota,"Send Files Agile"})
//: Exclui o arquivo do Itália
Case FErase("/agile_notas/"+cNomeNota)!=0
aAdd(aLogErr,{cNomeNota,"Deleting File"})
OtherWise
EndCase
TMPNOT->(dbSkip())
EndDo
TMPNOT->(dbCloseArea())
oVMSFTP:Disconnect()
oAgile:Disconnect()
[...]
Alguns arquivos até são tranferidos, porém chega em um ponto que o schedule simplismente para. A classe utilizada é a tSFTPClient, já analisei as includes e estão todas corretas, achei que o erro poderia ser por conta dos certificados de login e a ausência da chave [SFTP] no appserver, então segui todo o passo a passo, porém o erro continuou.
Segue um trecho do log do schedule no momento que o serviço para:
[...]
[INFO ][SERVER] [SFTP][SENDFILE] Allocating Memory to send file to remote server...2024-05-14T12:28:24.882000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Memory Allocation OK2024-05-14T12:28:24.882000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Uploading file to remote server...2024-05-14T12:28:24.951000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Allocating Memory to send file to remote server...2024-05-14T12:28:24.951000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Memory Allocation OK2024-05-14T12:28:24.951000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Uploading file to remote server...2024-05-14T12:28:25.018000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Allocating Memory to send file to remote server...2024-05-14T12:28:25.018000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Memory Allocation OK2024-05-14T12:28:25.018000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Uploading file to remote server...2024-05-14T12:28:25.087000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Allocating Memory to send file to remote server...2024-05-14T12:28:25.087000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Memory Allocation OK2024-05-14T12:28:25.087000-04:00 13224|
[INFO ][SERVER] [SFTP][SENDFILE] Uploading file to remote server... **Nesse momento o serviço para**
[...]