【问题标题】:Oracle Apex exception: Unauthorized URLOracle Apex 异常:未经授权的 URL
【发布时间】:2017-07-29 19:08:12
【问题描述】:

我有一个 Oracle Apex 应用程序,我正在尝试发出 REST 请求,但我收到错误未经授权的 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.

请问有人知道这是什么原因吗?

谢谢。

【问题讨论】:

  • 是否有防火墙规则或其他东西阻止该站点出现此错误?
  • 我真的不知道。这段代码是从apex.oracle.com 的工作区调用的,你认为这可以从apex.oracle.com 工作吗?
  • 我输入了 URL,它对我来说很好用。我缺少参数,但我得到了 XML 返回。
  • 回溯中的anonymous block 将是我首先要看的地方。
  • 您认为这样的命令可以从 apex.oracle.com 上的标准工作区启动还是需要某些特定权限?谢谢

标签: sql oracle oracle-apex


【解决方案1】:

您需要一个网络 ACL

如果您使用的是 Oracle 数据库 11g 或更高版本,则需要 ACL 以允许访问外部网络服务。 下面是创建 ACL 以允许 MY_USER 用户访问“oracle-base.com”的 11g 示例:

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;
/

相反,如果您使用的是 12c:

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;
/

问候

【讨论】:

    猜你喜欢
    • 2019-03-11
    • 2012-02-22
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2020-05-30
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多