DECLARE l_body CLOB; l_response CLOB; l_wallet_path varchar2(1000) := 'file:'||CCM_INT_API_PKG.GET_DB_DIRECTORY_PATH('DATA_PUMP_DIR'); l_api_sub_get_url varchar2(500) := CCM_INT_API_PKG.G_CACM_API_BASE_URL||'subscriber/'; l_access_token VARCHAR2(4000); l_preamble varchar2(10); l_subscriber_id varchar2(20); l_client_id VARCHAR2(32767) := 'ex**********vc'; l_client_secret VARCHAR2(32767) := '20**********2J'; l_vcHeaderName VARCHAR2(32767); l_vcHeaderValue VARCHAR2(32767); BEGIN /******* Call Subscriber API ************/ /****** Mandatory Headers ***********/ apex_web_service.clear_request_headers; apex_web_service.g_request_headers(1).name := 'accept'; apex_web_service.g_request_headers(1).value := '*/*'; apex_web_service.g_request_headers(2).name := 'Content-Type'; apex_web_service.g_request_headers(2).value := 'application/json'; l_preamble := 'BAK1'; l_subscriber_id := '1234567'; l_response := apex_web_service.make_rest_request ( p_url => 'https://cacm-api-dev.ascend/subscriber/BAK1/1234567',--l_api_sub_get_url||l_preamble||'/'||l_subscriber_id, --('https://cacm-bk-dev.experian.local/',--'https://cacm-api-dev.ascend/',--'https://cacm-api-stage.ascend/') p_http_method => 'GET', p_token_url => 'https://cacm-api-dev.ascend/auth/v2/login', p_credential_static_id => 'CIS_CACM_REST_API_CRED_OAUTH', --p_username => l_client_id, --p_password => l_client_secret, p_wallet_path => l_wallet_path); -- Get the path from DBA_DIRECTORIES for DATA_PUMP_DIR DBMS_OUTPUT.put_line('Access Token: '||apex_web_service.oauth_get_last_token); DBMS_OUTPUT.put_line('Request Headers: '); for i in 1.. apex_web_service.g_request_headers.count loop l_vcHeaderName := apex_web_service.g_request_headers(i).name; l_vcHeaderValue := apex_web_service.g_request_headers(i).value; DBMS_OUTPUT.put_line(' '||l_vcHeaderName||' : '||l_vcHeaderValue); end loop; DBMS_OUTPUT.put_line('Response Headers: '); for i in 1.. apex_web_service.g_headers.count loop l_vcHeaderName := apex_web_service.g_headers(i).name; l_vcHeaderValue := apex_web_service.g_headers(i).value; DBMS_OUTPUT.put_line(' '||l_vcHeaderName||' : '||l_vcHeaderValue); end loop; DBMS_OUTPUT.put_line(' Status Code: ' || APEX_WEB_SERVICE.G_STATUS_CODE); DBMS_OUTPUT.put_line(' Reason Phrase: ' || APEX_WEB_SERVICE.G_REASON_PHRASE); /********** Response in JSON Format: *********************/ dbms_output.put_line('Response: '||l_response); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SYSTIMESTAMP||' : Error : '||SQLERRM); DBMS_OUTPUT.put_line('Request Headers: '); for i in 1.. apex_web_service.g_request_headers.count loop l_vcHeaderName := apex_web_service.g_request_headers(i).name; l_vcHeaderValue := apex_web_service.g_request_headers(i).value; DBMS_OUTPUT.put_line(' '||l_vcHeaderName||' : '||l_vcHeaderValue); end loop; DBMS_OUTPUT.put_line('Response Headers: '); for i in 1.. apex_web_service.g_headers.count loop l_vcHeaderName := apex_web_service.g_headers(i).name; l_vcHeaderValue := apex_web_service.g_headers(i).value; DBMS_OUTPUT.put_line(' '||l_vcHeaderName||' : '||l_vcHeaderValue); end loop; DBMS_OUTPUT.put_line(' Status Code: ' || APEX_WEB_SERVICE.G_STATUS_CODE); DBMS_OUTPUT.put_line(' Reason Phrase: ' || APEX_WEB_SERVICE.G_REASON_PHRASE); dbms_output.put_line('Response: '||l_response); --RAISE; END; Output: ------------ 04-FEB-25 10.22.17.015952000 AM +00:00 : Error : ORA-20001: Authentication failed. Request Headers: accept : */* Content-Type : application/json Response Headers: Date : Tue, 04 Feb 2025 11:04:28 GMT Content-Type : application/json; charset=utf-8 Content-Length : 511 Connection : close X-Powered-By : Express Access-Control-Allow-Origin : * Cache-Control : no-store ETag : W/"1ff-nU/8bQX+k11eQ75Zpw9AKS5rhvc" Status Code: 201 Reason Phrase: Created Response: