From 826e5692c5f64e3eb24ed1c846a29392773e7416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=BCnter?= Date: Wed, 25 Oct 2017 18:12:18 +0000 Subject: [PATCH] display HTTP error codes and message --- src/zabapgit_http.prog.abap | 43 +++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/src/zabapgit_http.prog.abap b/src/zabapgit_http.prog.abap index 0420e0a1e..20e3c2f4d 100644 --- a/src/zabapgit_http.prog.abap +++ b/src/zabapgit_http.prog.abap @@ -198,7 +198,9 @@ CLASS lcl_http_client IMPLEMENTATION. METHOD send_receive. - DATA lv_text TYPE string. + DATA: lv_text TYPE string, + lv_code TYPE i, + lv_message TYPE string. mi_client->send( ). mi_client->receive( @@ -208,20 +210,29 @@ CLASS lcl_http_client IMPLEMENTATION. http_processing_failed = 3 OTHERS = 4 ). IF sy-subrc <> 0. - CASE sy-subrc. - WHEN 1. - " make sure: - " a) SSL is setup properly in STRUST - " b) no firewalls - " check trace file in transaction SMICM - lv_text = 'HTTP Communication Failure'. "#EC NOTEXT - WHEN 2. - lv_text = 'HTTP Invalid State'. "#EC NOTEXT - WHEN 3. - lv_text = 'HTTP Processing failed'. "#EC NOTEXT - WHEN OTHERS. - lv_text = 'Another error occured'. "#EC NOTEXT - ENDCASE. + + mi_client->get_last_error( + IMPORTING + code = lv_code + message = lv_message ). + + lv_text = |HTTP error { lv_code } occured: { lv_code }|. + +* CASE sy-subrc. +* WHEN 1. +* " make sure: +* " a) SSL is setup properly in STRUST +* " b) no firewalls +* " check trace file in transaction SMICM +* lv_text = 'HTTP Communication Failure'. "#EC NOTEXT +* WHEN 2. +* lv_text = 'HTTP Invalid State'. "#EC NOTEXT +* WHEN 3. +* lv_text = 'HTTP Processing failed'. "#EC NOTEXT +* WHEN OTHERS. +* lv_text = 'Another error occured'. "#EC NOTEXT +* ENDCASE. + zcx_abapgit_exception=>raise( lv_text ). ENDIF. @@ -502,7 +513,7 @@ CLASS lcl_http IMPLEMENTATION. DATA: lv_host TYPE string, lt_list TYPE zif_abapgit_definitions=>ty_icm_sinfo2_tt, - li_exit TYPE ref to lif_exit. + li_exit TYPE REF TO lif_exit. CALL FUNCTION 'ICM_GET_INFO2' TABLES