Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WsxyCHJYL6W9MZ6FPnH8ax
110 lines
3.8 KiB
Plaintext
110 lines
3.8 KiB
Plaintext
* test4c_descarcare_raspuns.prg
|
|
* Continuare test4: descarca raspunsul ANAF (nok) pentru reincarcarea originalului cu acelasi
|
|
* numar (id_descarcare=3059138503), ca sa se vada mesajul exact de respingere. Doar GET/descarcare
|
|
* si dezarhivare locala - nu scrie nimic in Oracle, nu conteaza ca incarcare.
|
|
*
|
|
* Rulare: vfp9.exe -A -T "D:\ROA\ROACONT\COMUN\utile\Teste\storno\test4c_descarcare_raspuns.prg"
|
|
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
CLOSE DATABASES
|
|
|
|
PUBLIC gcUILog, gcOutDir
|
|
gcOutDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\out\"
|
|
gcUILog = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\test4c_descarcare_raspuns_log.txt"
|
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
|
|
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
|
ON SHUTDOWN QUIT
|
|
|
|
TRY
|
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
|
IF gnHandle <= 0
|
|
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata'
|
|
QUIT
|
|
ENDIF
|
|
|
|
LOCAL loAnaf As 'AnafeFacturaServer'
|
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
|
loAnaf.lTest = .T.
|
|
loAnaf.RefreshTokenAuto()
|
|
IF !loAnaf.lTest OR EMPTY(loAnaf.cToken)
|
|
DO PrLogLocal WITH 'BLOCAT: garda lTest/token nu trece'
|
|
QUIT
|
|
ENDIF
|
|
|
|
DO DescarcaSiLogheaza WITH loAnaf, '3059138503', 'reincarcare-nok'
|
|
DO DescarcaSiLogheaza WITH loAnaf, '3059138527', 'storno-reincercare-ok'
|
|
|
|
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
|
|
CATCH TO loEx
|
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
|
ENDTRY
|
|
|
|
QUIT
|
|
|
|
**********************************************************
|
|
PROCEDURE DescarcaSiLogheaza
|
|
LPARAMETERS toAnaf, tcIdDescarcare, tcLabel
|
|
|
|
LOCAL loHTTP, lcServer, lnStatus, lcZip, lcDir, lcMesaj, llSucces
|
|
LOCAL loEx As Exception
|
|
|
|
lcServer = 'https://api.anaf.ro/test/FCTEL/rest/descarcare?id=' + tcIdDescarcare
|
|
TRY
|
|
loHTTP = CREATEOBJECT('winHTTP.winHTTPrequest.5.1')
|
|
loHTTP.Open('GET', lcServer, .F.)
|
|
loHTTP.setRequestHeader('Authorization', 'Bearer ' + toAnaf.cToken)
|
|
loHTTP.Send()
|
|
lnStatus = loHTTP.Status
|
|
CATCH TO loEx
|
|
DO PrLogLocal WITH '[' + tcLabel + '] descarcare eroare: ' + loEx.Message
|
|
RETURN
|
|
ENDTRY
|
|
|
|
DO PrLogLocal WITH '[' + tcLabel + '] descarcare id=' + tcIdDescarcare + ' status=' + TRANSFORM(lnStatus) + ' content-type=' + loHTTP.getResponseHeader('Content-Type')
|
|
|
|
IF lnStatus <> 200
|
|
DO PrLogLocal WITH '[' + tcLabel + '] raspuns brut (non-200): ' + loHTTP.ResponseText
|
|
RETURN
|
|
ENDIF
|
|
|
|
lcZip = gcOutDir + 'test4_descarcare_' + tcIdDescarcare + '.zip'
|
|
STRTOFILE(loHTTP.ResponseBody, lcZip)
|
|
|
|
lcDir = ''
|
|
lcMesaj = ''
|
|
llSucces = MyUnzip(lcZip, @lcDir, @lcMesaj, .T.)
|
|
IF !llSucces
|
|
DO PrLogLocal WITH '[' + tcLabel + '] MyUnzip esuat: ' + lcMesaj + ' (zip pastrat: ' + lcZip + ')'
|
|
RETURN
|
|
ENDIF
|
|
|
|
DO PrLogLocal WITH '[' + tcLabel + '] dezarhivat in ' + lcDir
|
|
|
|
LOCAL lcFisier, laFisiere[1], lnI, lnFisiere
|
|
lnFisiere = ADIR(laFisiere, ADDBS(lcDir) + '*.*')
|
|
FOR lnI = 1 TO lnFisiere
|
|
lcFisier = ADDBS(lcDir) + laFisiere[lnI, 1]
|
|
DO PrLogLocal WITH '[' + tcLabel + '] fisier: ' + laFisiere[lnI,1] + ' (' + TRANSFORM(laFisiere[lnI,2]) + ' octeti)'
|
|
IF LOWER(JUSTEXT(lcFisier)) = 'xml'
|
|
DO PrLogLocal WITH '[' + tcLabel + '] continut: ' + FILETOSTR(lcFisier)
|
|
ENDIF
|
|
ENDFOR
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
PROCEDURE PrLogLocal
|
|
LPARAMETERS tcMsg
|
|
LOCAL lcL
|
|
SET SAFETY OFF
|
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
PROCEDURE PrErrLocal
|
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
|
ENDPROC
|