--- title: ZABAPGIT_TEST_SSL category: other order: 60 --- Following report can be used to test SSL connection to github. Copy paste the report into the ABAP system use package $TMP ```abap REPORT zabapgit_test_ssl. * See https://github.com/larshp/abapGit/ PARAMETERS: p_url1 TYPE swc_value DEFAULT 'https://github.com', p_url2 TYPE swc_value DEFAULT 'https://api.github.com'. * api.github.com is used when pushing code back to github SELECTION-SCREEN BEGIN OF BLOCK proxy WITH FRAME. * proxy settings, fill if your system is behind a proxy PARAMETERS: p_proxy TYPE string, p_pxport TYPE string, p_puser TYPE string, p_ppwd TYPE string. SELECTION-SCREEN END OF BLOCK proxy. START-OF-SELECTION. PERFORM run USING p_url1. PERFORM run USING p_url2. FORM run USING iv_url TYPE swc_value. DATA: lv_code TYPE i, lv_url TYPE string, li_client TYPE REF TO if_http_client, lv_error_message TYPE string. IF iv_url IS INITIAL. RETURN. ENDIF. lv_url = iv_url. cl_http_client=>create_by_url( EXPORTING url = lv_url ssl_id = 'ANONYM' proxy_host = p_proxy proxy_service = p_pxport IMPORTING client = li_client ). IF NOT p_puser IS INITIAL. li_client->authenticate( proxy_authentication = abap_true username = p_puser password = p_ppwd ). ENDIF. li_client->send( ). li_client->receive( EXCEPTIONS http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 OTHERS = 4 ). IF sy-subrc <> 0. WRITE: / 'Error Number', sy-subrc. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. li_client->get_last_error( IMPORTING message = lv_error_message ). WRITE: / `Error message: ` && lv_error_message. WRITE: / 'Also check transaction SMICM -> Goto -> Trace File -> Display End'. RETURN. ENDIF. * if SSL Handshake fails, make sure to also check https://launchpad.support.sap.com/#/notes/510007 li_client->response->get_status( IMPORTING code = lv_code ). IF lv_code = 200. WRITE: / lv_url, ': ok'. ELSE. WRITE: / 'Error', lv_code. ENDIF. ENDFORM. ```