[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Receive file from appserver gets 0 bytes file - Send it's ok

Status
Not open for further replies.
O

OctavioOlguin

Guest
Solved by: Appserver code: BLOCK-LEVEL ON ERROR UNDO, THROW. DEFINE INPUT PARAMETER mInput AS MEMPTR NO-UNDO. DEFINE OUTPUT PARAMETER mOutput AS LONGCHAR NO-UNDO. DEFINE VARIABLE memFile AS MEMPTR NO-UNDO. /* *************************** Main Block *************************** */ MESSAGE NOW "copy-lob". COPY-LOB OBJECT mInput TO FILE "C:\t\log1.txt". COPY-LOB FILE "c:\t\t2.exe" TO OBJECT memFile. MESSAGE NOW "txt tfile size: " FILE-INFO:FILE-SIZE. mOutput = BASE64-ENCODE(memFile). MESSAGE NOW "End copy-lob". CATCH myS AS Progress.Lang.SysError : /* hubo error de */ RETURN ERROR NEW Progress.Lang.AppError(myS:GetMessage(1), 404). END CATCH. CATCH myA AS Progress.Lang.AppError : /* hubo error de */ RETURN ERROR NEW Progress.Lang.AppError(myA:GetMessage(1), 404). END CATCH. FINALLY: set-size(mInput) = 0. END. Cliente code: DEFINE VARIABLE hServer AS HANDLE NO-UNDO. DEFINE VARIABLE lRetOK AS LOGICAL NO-UNDO. def var mFile1 as memptr no-undo. def var mFile2 as LONGCHAR no-undo. CREATE SERVER hServer. lRetOK = hServer:CONNECT("-H xxx.101.yyy.zzz -DirectConnect -S 9030 -AppService schAS1 -sessionModel Session-free") . IF NOT lREtOK THEN DO: MESSAGE ERROR-STATUS:GET-MESSAGE (1) VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. RETURN. END. COPY-LOB FILE "d:\t\log.lg" TO OBJECT mFile1. run procs\tdi\test.p on hserver (INPUT mFile1, output mFile2). mFile1 = BASE64-DECODE(mFile2). COPY-LOB OBJECT mFile1 to file "d:\t\t2.exe". hServer:DISCONNECT(). DELETE OBJECT hServer. CATCH myS AS Progress.Lang.SysError : /* hubo error de */ MESSAGE myS:NumMessages myS:getmessage(1) VIEW-AS ALERT-BOX ERROR BUTTONS OK TITLE "SysError". END CATCH. CATCH myA AS Progress.Lang.AppError : /* hubo error de */ MESSAGE myA:NumMessages myA:getmessage(1) VIEW-AS ALERT-BOX WARNING BUTTONS OK. END CATCH. FINALLY: SET-SIZE(mFile1) = 0. END.

Continue reading...
 
Status
Not open for further replies.
Top