2017-07-20 28 views
0

Oracle Apexアプリケーションがあり、REST要求を作成しようとしていますが、Unauthorized URLエラーが表示されます。ここでOracle Apexの例外:許可されていないURL

は私のコードです:

declare 
    l_clob clob; 
begin 
    l_clob := APEX_WEB_SERVICE.make_rest_request(
    p_url   => 'http://oracle-base.com/webservices/add-numbers.php', 
    p_http_method => 'GET', 
    p_parm_name => APEX_UTIL.string_to_table('p_int_1:p_int_2'), 
    p_parm_value => APEX_UTIL.string_to_table(1 || ':' || 2) 
) ; 
    return l_clob; 
end; 

エラー:

Unauthorized URL: http://oracle-base.com/webservices/add-numbers.php 

Contact your application administrator. 

enter image description here

誰もがその理由が喜ば方法を知っていますか?

ありがとうございました。

+0

ファイアウォールルールなど、このサイトをブロックしてこのエラーが発生しましたか? –

+0

私は本当に知りません。このコードはhttps://apex.oracle.comのワークスペースから呼び出されます。これはhttps://apex.oracle.comから機能すると思いますか? –

+0

私はURLを入力し、それは私のために正常に働いた。私はパラメータが不足していましたが、私はXMLを返しました。 –

答えて

0

あなたはOracle Database 11gの以降を使用している場合は、外部ネットワークサービスへのアクセスを許可するACLを必要とするネットワークACL

を必要としています。

CONN/AS SYSDBA 
BEGIN 
    DBMS_NETWORK_ACL_ADMIN.append_host_ace (
    host  => 'oracle-base.com', 
    lower_port => 80, 
    upper_port => 80, 
    ace  => xs$ace_type(privilege_list => xs$name_list('http'), 
           principal_name => 'MY_USER', 
           principal_type => xs_acl.ptype_db)); 
END; 
/

よろしく

:あなたは12Cを使用している場合は、代わりに

CONN/AS SYSDBA 
BEGIN 
    DBMS_NETWORK_ACL_ADMIN.create_acl (
    acl   => 'oracle_base_acl.xml', 
    description => 'An ACL for the oracle-base.com website', 
    principal => 'MY_USER', 
    is_grant  => TRUE, 
    privilege => 'connect', 
    start_date => SYSTIMESTAMP, 
    end_date  => NULL); 

    DBMS_NETWORK_ACL_ADMIN.assign_acl (
    acl   => 'oracle_base_acl.xml', 
    host  => 'oracle-base.com', 
    lower_port => 80, 
    upper_port => 80); 

    COMMIT; 
END; 
/

: はここで "oracle-base.com" MY_USERのユーザーがアクセスできるようにするには、ACLを作成する11グラムの例であります

関連する問題