apex icon indicating copy to clipboard operation
apex copied to clipboard

I am getting a permission error in rest sample app

Open armandoplascencia opened this issue 3 years ago • 15 comments

UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE***** UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE***** UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE***** UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE***** UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE***** UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE*****

I am running on oracle oci cloud Application Express 21.1.7

possibly the issue is with the call to https://gd49ef7d5e3cd2d-db202110212330.adb.us-phoenix-1.oraclecloudapps.com/ords/wwv_flow.accept

When I run the local rest data "load data", I get ORA-01031: insufficient privileges

Contact your application administrator. Details about this incident are available via debug id "57028". Technical Info (only visible for developers)

UPDATES: *********** ISSUE FIX BY REMOVEING PROXY IN APP DEFINITIONS LEFT THERE FROM APEX.ORACLE.COM USAGE*****


Error Message User Page DateDescending
ORA-01031: insufficient privileges Contact your application administrator. Details about this incident are available via debug id "57030". APLASCENCIA 11 69 seconds ago
APEX - ORA-01031: insufficient privileges - Contact your application administrator. Details about this incident are available via debug id "57029". ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1384 ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1419 APLASCENCIA 2 96 seconds ago
APEX - ORA-01031: insufficient privileges - Contact your application administrator. Details about this incident are available via debug id "57028". ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1384 ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1419
[Error Message]()

User

Page

DateDescending ORA-01031: insufficient privileges Contact your application administrator. Details about this incident are available via debug id "57030". APLASCENCIA 11 69 seconds ago APEX - ORA-01031: insufficient privileges - Contact your application administrator. Details about this incident are available via debug id "57029". ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1384 ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1419 APLASCENCIA 2 96 seconds ago APEX - ORA-01031: insufficient privileges - Contact your application administrator. Details about this incident are available via debug id "57028". ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1384 ORA-06512: at "APEX_210100.WWV_FLOW_ERROR", line 1419


is_internal_error: false
ora_sqlcode: -1031
ora_sqlerrm: ORA-01031: insufficient privileges ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS_NATIVE", line 56 

ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC_PLSQL", line 124 ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 2387 ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 1157 ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 757 ORA-06512: at "SYS.UTL_HTTP", line 20 ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 728 ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 998 ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 1346 ORA-06512: at "APEX_210100.WWV_FLOW_WEBSERVICES_API", line 604 ORA-06512: at line 5 ORA-06512: at "SYS.DBMS_SYS_SQL", line 2120 ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 682 ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 2348 ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC_PLSQL", line 96 ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC_PLSQL", line 330 ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC", line 394 ORA-06512: at "APEX_210100.WWV_FLOW_EXEC_LOCAL", line 2880 ORA-06512: at "APEX_210100.WWV_FLOW_EXEC", line 4434 ORA-06512: at "APEX_210100.WWV_FLOW_EXEC", line 4470 ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS_NATIVE", line 35 ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS_NATIVE", line 1116 ORA-06512: at "APEX_210100.WWV_FLOW_PLUGIN", line 2784 component.type: APEX_APPLICATION_PAGE_PROCESS component.id: 1934813666072611847 component.name: Fetch data into Collection error_backtrace:

ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 1157
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 757
ORA-06512: at "SYS.UTL_HTTP", line 20
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 728
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 998
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 1346
ORA-06512: at "APEX_210100.WWV_FLOW_WEBSERVICES_API", line 604
ORA-06512: at line 5
ORA-06512: at "SYS.DBMS_SYS_SQL", line 2120
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 682
ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 2348
ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS_NATIVE", line 56
ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC_PLSQL", line 124
ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 2387
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 1157
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 757
ORA-06512: at "SYS.UTL_HTTP", line 20
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 728
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 998
ORA-06512: at "APEX_210100.WWV_FLOW_WEB_SERVICES", line 1346
ORA-06512: at "APEX_210100.WWV_FLOW_WEBSERVICES_API", line 604
ORA-06512: at line 5
ORA-06512: at "SYS.DBMS_SYS_SQL", line 2120
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 682
ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 2348
ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC_PLSQL", line 96
ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC_PLSQL", line 330
ORA-06512: at "APEX_210100.WWV_FLOW_CODE_EXEC", line 394
ORA-06512: at "APEX_210100.WWV_FLOW_EXEC_LOCAL", line 2880
ORA-06512: at "APEX_210100.WWV_FLOW_EXEC", line 4434
ORA-06512: at "APEX_210100.WWV_FLOW_EXEC", line 4470
ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS_NATIVE", line 35
ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS_NATIVE", line 1116
ORA-06512: at "APEX_210100.WWV_FLOW_PLUGIN", line 2784
ORA-06512: at "APEX_210100.WWV_FLOW_PROCESS", line 203

error_statement:

begin declare
    l_response clob;
begin
    -- load REST response into a collection
    l_response := apex_web_service.make_rest_request(
        p_url              => :SAMPLE_ENDPOINT_URL,
        p_http_method      => 'GET');

    apex_collection.create_or_truncate_collection( 'REST_COLLECTION' );
    apex_collection.add_member(
        p_collection_name => 'REST_COLLECTION',
        p_clob001 =>         l_response );
end;
end;

----------- here is the acl's ------------- CREATE OR REPLACE EDITIONABLE PROCEDURE "ADMIN"."SHOW_ACLS" AS --DECLARE l_last_acl dba_network_acls.acl%TYPE := '~'; l_last_principal dba_network_acl_privileges.principal%TYPE := '~'; l_last_privilege dba_network_acl_privileges.privilege%TYPE := '~'; l_last_host dba_network_acls.host%TYPE := '~';

FUNCTION get_timestamp (p_timestamp IN TIMESTAMP WITH TIME ZONE) RETURN VARCHAR2 AS l_return VARCHAR2(32767); BEGIN IF p_timestamp IS NULL THEN RETURN 'NULL'; END IF; RETURN 'TO_TIMESTAMP_TZ(''' || TO_CHAR(p_timestamp, 'DD-MON-YYYY HH24:MI:SS.FF TZH:TZM') || ''',''DD-MON-YYYY HH24:MI:SS.FF TZH:TZM'')'; END; BEGIN FOR i IN (SELECT a.acl, a.host, a.lower_port, a.upper_port, b.principal, b.privilege, b.is_grant, b.start_date, b.end_date FROM dba_network_acls a JOIN dba_network_acl_privileges b ON a.acl = b.acl ORDER BY a.acl, a.host, a.lower_port, a.upper_port) LOOP IF l_last_acl <> i.acl THEN -- First time we've seen this ACL, so create a new one. l_last_host := '~';

  DBMS_OUTPUT.put_line('-- -------------------------------------------------');
  DBMS_OUTPUT.put_line('-- ' || i.acl);
  DBMS_OUTPUT.put_line('-- -------------------------------------------------');
  DBMS_OUTPUT.put_line('BEGIN');
  DBMS_OUTPUT.put_line('  DBMS_NETWORK_ACL_ADMIN.drop_acl (');
  DBMS_OUTPUT.put_line('    acl          => ''' || i.acl || ''');');
  DBMS_OUTPUT.put_line('  COMMIT;');
  DBMS_OUTPUT.put_line('END;');
  DBMS_OUTPUT.put_line('/');
  DBMS_OUTPUT.put_line(' ');
  DBMS_OUTPUT.put_line('BEGIN');
  DBMS_OUTPUT.put_line('  DBMS_NETWORK_ACL_ADMIN.create_acl (');
  DBMS_OUTPUT.put_line('    acl          => ''' || i.acl || ''',');
  DBMS_OUTPUT.put_line('    description  => ''' || i.acl || ''',');
  DBMS_OUTPUT.put_line('    principal    => ''' || i.principal || ''',');
  DBMS_OUTPUT.put_line('    is_grant     => ' || i.is_grant || ',');
  DBMS_OUTPUT.put_line('    privilege    => ''' || i.privilege || ''',');
  DBMS_OUTPUT.put_line('    start_date   => ' || get_timestamp(i.start_date) || ',');
  DBMS_OUTPUT.put_line('    end_date     => ' || get_timestamp(i.end_date) || ');');
  DBMS_OUTPUT.put_line('  COMMIT;');
  DBMS_OUTPUT.put_line('END;');
  DBMS_OUTPUT.put_line('/');
  DBMS_OUTPUT.put_line(' ');
  l_last_acl := i.acl;
  l_last_principal := i.principal;
  l_last_privilege := i.privilege;
END IF;

IF l_last_principal <> i.principal 
OR (l_last_principal = i.principal AND l_last_privilege <> i.privilege) THEN
  -- Add another principal to an existing ACL.
  DBMS_OUTPUT.put_line('BEGIN');
  DBMS_OUTPUT.put_line('  DBMS_NETWORK_ACL_ADMIN.add_privilege (');
  DBMS_OUTPUT.put_line('    acl       => ''' || i.acl || ''',');
  DBMS_OUTPUT.put_line('    principal => ''' || i.principal || ''',');
  DBMS_OUTPUT.put_line('    is_grant  => ' || i.is_grant || ',');
  DBMS_OUTPUT.put_line('    privilege => ''' || i.privilege || ''',');
  DBMS_OUTPUT.put_line('    start_date   => ' || get_timestamp(i.start_date) || ',');
  DBMS_OUTPUT.put_line('    end_date     => ' || get_timestamp(i.end_date) || ');');
  DBMS_OUTPUT.put_line('  COMMIT;');
  DBMS_OUTPUT.put_line('END;');
  DBMS_OUTPUT.put_line('/');
  DBMS_OUTPUT.put_line(' ');
  l_last_principal := i.principal;
  l_last_privilege := i.privilege;
END IF;

IF l_last_host <> i.host||':'||i.lower_port||':'||i.upper_port THEN
  DBMS_OUTPUT.put_line('BEGIN');
  DBMS_OUTPUT.put_line('  DBMS_NETWORK_ACL_ADMIN.assign_acl (');
  DBMS_OUTPUT.put_line('    acl         => ''' || i.acl || ''',');
  DBMS_OUTPUT.put_line('    host        => ''' || i.host || ''',');
  DBMS_OUTPUT.put_line('    lower_port  => ' || NVL(TO_CHAR(i.lower_port),'NULL') || ',');
  DBMS_OUTPUT.put_line('    upper_port  => ' || NVL(TO_CHAR(i.upper_port),'NULL') || ');');
  DBMS_OUTPUT.put_line('  COMMIT;');
  DBMS_OUTPUT.put_line('END;');
  DBMS_OUTPUT.put_line('/');
  DBMS_OUTPUT.put_line(' ');
  l_last_host := i.host||':'||i.lower_port||':'||i.upper_port;
END IF;

END LOOP; END; /


-- /sys/acls/apex21_MISO_open_acl_file.xml


BEGIN DBMS_NETWORK_ACL_ADMIN.drop_acl ( acl => '/sys/acls/apex21_MISO_open_acl_file.xml'); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.create_acl ( acl => '/sys/acls/apex21_MISO_open_acl_file.xml', description => '/sys/acls/apex21_MISO_open_acl_file.xml', principal => 'APEX_210100', is_grant => true, privilege => 'connect', start_date => TO_TIMESTAMP_TZ('10-FEB-2022 19:17:27.087684000 +00:00','DD-MON-YYYY HH24:MI:SS.FF TZH:TZM'), end_date => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.assign_acl ( acl => '/sys/acls/apex21_MISO_open_acl_file.xml', host => '*', lower_port => 1, upper_port => 9999); COMMIT; END; /


-- NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394


BEGIN DBMS_NETWORK_ACL_ADMIN.drop_acl ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394'); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.create_acl ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', description => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', principal => 'ADMIN', is_grant => true, privilege => 'smtp', start_date => NULL, end_date => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.assign_acl ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', host => '*', lower_port => NULL, upper_port => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', principal => 'MISO', is_grant => true, privilege => 'smtp', start_date => NULL, end_date => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', principal => 'APEX_210100', is_grant => true, privilege => 'smtp', start_date => NULL, end_date => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', principal => 'MISO', is_grant => true, privilege => 'smtp', start_date => NULL, end_date => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.assign_acl ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', host => 'smtp.email.us-phoenix-1.oci.oraclecloud.com', lower_port => 587, upper_port => 587); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', principal => 'APEX_210100', is_grant => true, privilege => 'smtp', start_date => NULL, end_date => NULL); COMMIT; END; /

BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'NETWORK_ACL_D2DB0EE691B34C2DE053B310000A0394', principal => 'ADMIN', is_grant => true, privilege => 'smtp', start_date => NULL, end_date => NULL); COMMIT; END; /

When I try to grant execute on grant execute on apex_210100.WWV_FLOW_WEBSERVICES_API to miso; ORA-01031: insufficient privileges grant execute on apex_210100.WWV_FLOW_COLLECTION to miso; ORA-01031: insufficient privileges

grant dba to miso; ORA-01924: role 'DBA' not granted or does not exist

grant execute any procedure to miso; work? why?

I need help , support team ticket goes unanswered.

armandoplascencia avatar Feb 22 '22 07:02 armandoplascencia

I can be reached at [email protected] or via 818-645-5295 if questions arrise.

armandoplascencia avatar Feb 22 '22 07:02 armandoplascencia

declare C_MAX_ROWS number := null;

l_response     clob;
l_url          varchar2(32767);
l_finish       boolean          := false;
l_rows_loaded  number           := 0;
l_pages_fetched number          := 0;

begin l_url := :SAMPLE_ENDPOINT_URL;

delete from "EBA_RESTDEMO_SAMPLE_EMP";

while not l_finish loop
    l_response := apex_web_service.make_rest_request(
        p_url              => l_url,
        p_http_method      => 'GET');

    insert into "EBA_RESTDEMO_SAMPLE_EMP" (
        select 
            x.EMPNO, 
            x.ENAME, 
            x.JOB, 
            x.MGR, 
            to_date( x.HIREDATE, 'YYYY-MM-DD"T"HH24:MI:SS"Z"' ) as HIREDATE, 
            x.SAL, 
            x.DEPTNO, 
            x.RN
        from xmltable(
            '/json/items/row'
            passing apex_json.to_xmltype( l_response )
            columns
                EMPNO      NUMBER          path 'empno',
                ENAME      VARCHAR2(4000)  path 'ename',
                JOB        VARCHAR2(4000)  path 'job',
                MGR        NUMBER          path 'mgr',
                HIREDATE   VARCHAR2(4000)  path 'hiredate',
                SAL        NUMBER          path 'sal',
                DEPTNO     NUMBER          path 'deptno',
                RN         NUMBER          path 'rn'
        ) x
    );

    l_rows_loaded := l_rows_loaded + nvl( sql%rowcount, 0 );
    l_pages_fetched := l_pages_fetched + 1;
    if l_rows_loaded >= C_MAX_ROWS then 
        l_finish := true;
    end if;
    
    select
        x.next_page into l_url 
    from xmltable( 
        '/json'
        passing apex_json.to_xmltype( l_response )
        columns
            next_page varchar2(500) path 'next/_ref'
    ) x;
    
    if l_url is null then l_finish := true; end if;
end loop;
:P11_PAGES_FETCHED := l_pages_fetched;
:P11_ROWS_LOADED := l_rows_loaded;

end; ------------------------------- end of button code. ----------

        select NAME as card_title,
   URL,
   LAST_STATUS,
   case 
       when last_status is null then 'fa-question'
       when last_status = 'OK' then 'fa-check'
       else 'fa-exception'
   end as card_icon,
   case  
       when last_status is null then 'u-color-29'
       when last_status = 'OK' then 'u-color-35'
       else 'u-color-39' 
   end as card_color,
   case  
       when last_status='OK' then 'OK'
       when last_status='ERROR_ACL' then 'Network Access Control List (ACL)'
       when last_status='ERROR_CERT' then 'SSL Certificate error (Wallet)'
       when last_status='ERROR_NETWORK' then 'Networking issue (e.g. Proxy Server)'
       when last_status like 'ERROR_HTTP%' then 'HTTP Error ' || substr( last_status, 12 )
       when last_status like 'ERROR_OTHER%' then 'Other Error: ' || substr( last_status, 13 )
       else 'Other Error'
   end as card_text,
   url as card_subtext

from miso.EBA_RESTDEMO_SAMPLE_URLS where name != 'ORDS EMP';

"CARD_TITLE" "URL" "LAST_STATUS" "CARD_ICON" "CARD_COLOR" "CARD_TEXT" "CARD_SUBTEXT" "Github API" "https://api.github.com" "ERROR_OTHER_ORA-01031: insufficient privileges" "fa-exception" "u-color-39" "Other Error: ORA-01031: insufficient privileges" "https://api.github.com"

WHAT PRIVS ARE MISSING?

armandoplascencia avatar Feb 22 '22 08:02 armandoplascencia

https://gd49ef7d5e3cd2d-db202110212330.adb.us-phoenix-1.oraclecloudapps.com/ords/miso/hr/employees/ works when I set it as the default path for local rest file source

armandoplascencia avatar Feb 22 '22 18:02 armandoplascencia

did this.

BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => '*', ace => XS$ACE_TYPE( privilege_list => XS$NAME_LIST('http'), principal_name => APEX_APPLICATION.g_flow_schema_owner, principal_type => XS_ACL.ptype_db ), private_target => true); END; / BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('MAX_WEBSERVICE_REQUESTS', '1000000'); COMMIT; END; /

armandoplascencia avatar Feb 23 '22 04:02 armandoplascencia

SELECT UTL_HTTP.REQUEST(url => 'https://api.github.com', https_host => 'api.github.com') FROM dual;

SELECT UTL_HTTP.REQUEST(url => 'https://gd49ef7d5e3cd2d-db202110212330.adb.us-phoenix-1.oraclecloudapps.com/ords/miso/hr/employees/', https_host => 'gd49ef7d5e3cd2d-db202110212330.adb.us-phoenix-1.oraclecloudapps.com') FROM dual;

ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1620 ORA-29024: Certificate validation failure ORA-06512: at "SYS.UTL_HTTP", line 380 ORA-06512: at "SYS.UTL_HTTP", line 1560 ORA-06512: at line 1

armandoplascencia avatar Feb 23 '22 18:02 armandoplascencia

two things:

  1. From Autonomous Database, you can only access HTTPS endpoint which use a public CA certificate. Plain HTTP endpoints, or endpoints using self-signed certificates are not supported.
  2. You must not use any proxy server on Autonomous Database; neither in the APEX configuration, nor by setting in PL/SQL code.
  3. Unlike APEX_WEB_SERVICE, the UTL_HTTP package is not preconfigured with a wallet, so by default it cannot verify SSL certificates.

Here is general documentation about accessing REST Services from APEX on Autonomous DB. https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/apex-web-services.html#GUID-DA24C605-384D-4448-B73C-D00C02F5060E

So my recommendation is to ...

  • Use declarative REST Data Sources instead of manual PL/SQL coding wherever you can (a tutorial on REST Data Sources is here: https://oracle.github.io/learning-library/developer-library/apex/rest-data-source/?page=README)
  • Use APEX_WEB_SERVICE instead of UTL_HTTP, as this package is pre-configured and ready-to-use
  • Access only(!) HTTPS endpoints.

cczarski-de avatar Feb 24 '22 08:02 cczarski-de

Based on your reply, the sample app is not possible to run? As i'm experiencing permissions issues, I assume it possible to run this app once I address permissions, but I dont know what permissions are missing. The restapi from HR.EMP should work in the sample restapi app. Can you help me find the right resource to assist, support has been no help. You have been wonderful ty !!!.

armandoplascencia avatar Mar 03 '22 00:03 armandoplascencia

The downloaded app from the apex app repository has a PROXY SERVER ENTRY DEFINED !! THIS NEEDS TO BE REMOVED inorder for the app to run !! PLEASE DOCUMENT THIS ASAP , I SPENT 2 WEEKS TRYING TO GET THIS TO WORK. THIS was rediculous that it took this long and it took me to figure it out. !!!!

 The application had a Proxy Server defined (Shared Components > Application Definition Attributes > Proxy Server). www-proxy.us.oracle.com:80 .

On ADB, a proxy server must not be configured. Please clear out proxy server settings in application attributes in future downloads.

armandoplascencia avatar Mar 03 '22 06:03 armandoplascencia

Thank you for this - it was not clear to me that you're using the Sample REST Services application. I will have a look right now.

cczarski-de avatar Mar 03 '22 09:03 cczarski-de

@cczarski-de, is there an update on how to proceed? We couldn't install any app on the OCI ADB!

Appreciate your help in advance!

Thanks

sensub avatar Mar 06 '22 15:03 sensub

please raise a new question, instead appending a new question to an existing thread - "we couldn't install any app on the OCI ADB" sounds like a completely different issue, compared to what this issue is about.

Note, that ADB still runs on APEX 21.1 (!) - so you need to make sure to download the correct application for APEX 21.1, by selecting the APEX 21.1 branch before downloading.

cczarski-de avatar Mar 07 '22 08:03 cczarski-de

The issue was fixed after I found and removed a proxy setting in the application definition. Once it was removed, the app worked fine. I still have not found the old Rest Client App that created plsql for parsing of rest end points. Do you have any updates as to When will 21.1 be upgraded to 21.2 on OCI? Thanks again. Please make a note on the download page to remove the proxy when performing installations. This appears to be a config issue that is easily solved if you place a one liner on the instructions page. Where can I find prior apex applications prior to 21.1. I Cant find the old install zips from 4.2, 5, ets. I want some of those apps back so I can install them on 21.1 (for now) and attempt to fix any issues if they dont run on 21.1 oci . Please help me find all prior apex applications.

On Mon, Mar 7, 2022 at 12:43 AM Carsten Czarski @.***> wrote:

please raise a new question, instead appending a new question to an existing thread - "we couldn't install any app on the OCI ADB" sounds like a completely different issue, compared to what this issue is about.

Note, that ADB still runs on APEX 21.1 (!) - so you need to make sure to download the correct application for APEX 21.1, by selecting the APEX 21.1 branch before downloading.

— Reply to this email directly, view it on GitHub https://github.com/oracle/apex/issues/25#issuecomment-1060334348, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV2EZNO2ZSDHYXKSKBGQMZ3U6W6RRANCNFSM5PASSQNA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

armandoplascencia avatar Mar 07 '22 18:03 armandoplascencia

@cczarski-de, I did download the 21.1 version from the branch. However, when installing it, I'm getting the below error

image

I'm not sure if it is something related to the proxy that is discussed in this thread. I can sure raise a new question if it is not relevant to what is being discussed here.

I'm having this issue when trying to install many of the 21.1 version apps. Not sure if I have to config any network ACL within the ADB.

Thanks for your help!

sensub avatar Mar 08 '22 13:03 sensub

which application did you try out? I don't think that this is related to the proxy topic we discussed above.

cczarski-de avatar Mar 08 '22 14:03 cczarski-de

I tried all applications.

Okay, I raised it here. Thanks!

sensub avatar Mar 08 '22 20:03 sensub