Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I am getting a permission error in rest sample app #25

Open
armandoplascencia opened this issue Feb 22, 2022 · 15 comments
Open

I am getting a permission error in rest sample app #25

armandoplascencia opened this issue Feb 22, 2022 · 15 comments

Comments

@armandoplascencia
Copy link

armandoplascencia commented Feb 22, 2022

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
Copy link
Author

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

@armandoplascencia
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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

@cczarski-de
Copy link
Member

cczarski-de commented Feb 24, 2022

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 ...

@armandoplascencia
Copy link
Author

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
Copy link
Author

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.

@cczarski-de
Copy link
Member

cczarski-de commented Mar 3, 2022

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.

@sensub
Copy link

sensub commented Mar 6, 2022

@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

@cczarski-de
Copy link
Member

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.

@armandoplascencia
Copy link
Author

armandoplascencia commented Mar 7, 2022 via email

@sensub
Copy link

sensub commented Mar 8, 2022

@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!

@cczarski-de
Copy link
Member

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

@sensub
Copy link

sensub commented Mar 8, 2022

I tried all applications.

Okay, I raised it here. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants