Check if UTL_HTTP exists:
I have seen on the internet someone complain about not existing "UTL_HTTP"
SELECT * FROM dba_objects WHERE object_name='UTL_HTTP'

Login do sqlplus:

sys as sysdba
Grant execute to user, in my case im using system user (I know bad idea):

GRANT EXECUTE ON SYS.UTL_HTTP TO system;

Create ACL, you need this if yo are using 11g or up:
pay attention to principal it has to be UPPERCASE, if not it will give you "ORA-44416 Unresolved Principal" error

BEGIN
    DBMS_NETWORK_ACL_ADMIN.create_acl(
        acl           => 'http_connect.xml',
        description   => 'ACL that lets me talk to the my web server',
        principal     => 'SYSTEM',
        is_grant      => TRUE,
        privilege     => 'connect'
    );

    DBMS_NETWORK_ACL_ADMIN.assign_acl(
        acl          => 'http_connect.xml',
        HOST         => 'maks.tk',
        lower_port   => 80,
        upper_port   => 80
    );

    COMMIT;
END;

Check if we have ACL created: 

SELECT * FROM dba_network_acls;





ORA-24247: network access denied by access control list (ACL)

Comments

Popular posts from this blog

Certbot

Oracle, how to pass a '&' in url and other special characters