Forum Stats

  • 3,769,028 Users
  • 2,252,898 Discussions
  • 7,874,843 Comments

Discussions

JSON format file

User_3UMC3
User_3UMC3 Member Posts: 34 Red Ribbon

Hi Team,

How to download the JSON data if we pass the URL as like below

select functionname('www.oracle.com') from dual.

please let me know how to do.

SAMPLE CODE

declare

l_req1 utl_http.req;

l_resp1 utl_http.resp;

begin

l_req1 := utl_http.begin_request('https://www.oracle.com/index.html');

l_resp1 := utl_http.get_response(l_req1);

utl_http.end_response(l_resp1);

end;

/


Thanks

Tagged:

Answers

  • User_3UMC3
    User_3UMC3 Member Posts: 34 Red Ribbon

    Please update...

  • Solomon Yakobson
    Solomon Yakobson Member Posts: 18,914 Red Diamond
    edited Mar 23, 2021 11:03AM

    You need to:

    1. Create ACEs to grant your database user connect & resolve on host oracle.com through SSL port 443
    2. Create wallet ACE
    3. Create wallet on database server side
    4. Download oracle.com root certificate
    5. Load it into the wallet.
    6. In your session set wallet for utl_http.
    7. Read index.html

    Below are steps 1 -3:

    BEGIN
        DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
                                               host       => 'www.oracle.com',
                                               lower_port => 443,
                                               upper_port => 443,
                                               ace        => xs$ace_type(
                                                                         privilege_list => xs$name_list('CONNECT'),
                                                                         principal_name => '<replace-with-oracle-user>',
                                                                         principal_type => xs_acl.ptype_db
                                                                        )
                                              );
        COMMIT;
    END;
    /
    BEGIN
        DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
                                               host       => 'www.oracle.com',
                                               ace        => xs$ace_type(
                                                                         privilege_list => xs$name_list('RESOLVE'),
                                                                         principal_name => '<replace-with-oracle-user>',
                                                                         principal_type => xs_acl.ptype_db
                                                                        )
                                              );
        COMMIT;
    END;
    /
    BEGIN
         DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE(
                                                  wallet_path => 'file:<replace-with-path-to-oracle-wallet>',
                                                  ace         => xs$ace_type(
                                                                             privilege_list => xs$name_list('use_client_certificates','use_passwords'),
                                                                             principal_name => '<replace-with-oracle-user>',
                                                                             principal_type => xs_acl.ptype_db
                                                                            )
                                                 );
        COMMIT;
    END;
    /
    
    
    

    SY.

  • User_3UMC3
    User_3UMC3 Member Posts: 34 Red Ribbon

    Thanks it is working fine.