Hello, i'm trying to test push notifications on my cloud database. I'm getting ‘ORA-24247: network access denied by access control list (ACL)’ this error. I faced with this issue before, when i try to call an api. But i always can handle with this issue easily by creating ACL with the host and some connect,resolve privileges assigned to related user. But this time it is not working.
Let me share my code. I get this code from 'https://apex.oracle.com/pls/apex/r/apex_pm/apex-pwa-reference/push-notifications' i gave the privileges to WKSP_SCHEMA (my apex schema with my application in it) & APEX_230100.
Please help me about this. Anything could be useful in that special case.
Code →
declare
l_principal varchar2(20) := 'APEX_230100'; -- Replace with current APEX user
l_hosts apex_t_varchar2 := apex_t_varchar2(
'*.push.apple.com',
'*.notify.windows.com',
'updates.push.services.mozilla.com',
'android.googleapis.com',
'fcm.googleapis.com' );
begin
for j in ( select column_value as hostname from table(l_hosts) ) loop
dbms_network_acl_admin.append_host_ace (
host => j.hostname,
lower_port => 443,
upper_port => 443,
ace => xs$ace_type(
privilege_list => xs$name_list('connect'),
principal_name => l_principal,
principal_type => xs_acl.ptype_db) );
dbms_network_acl_admin.append_host_ace (
host => j.hostname,
ace => xs$ace_type(
privilege_list => xs$name_list('resolve'),
principal_name => l_principal,
principal_type => xs_acl.ptype_db) );
dbms_network_acl_admin.append_host_ace (
host => j.hostname,
lower_port => 443,
upper_port => 443,
ace => xs$ace_type(
privilege_list => xs$name_list('http'),
principal_name => l_principal,
principal_type => xs_acl.ptype_db) );
end loop;
end;