ORA-29273: HTTP 请求失败; ORA-06512: 在 "SYS.UTL_HTTP", line 1722 ;ORA-24247:网络访问被访问控制列表(ACL)拒绝; ORA-06512: 在 line 1

来源:互联网 发布:jquery.mloading.js 编辑:程序博客网 时间:2024/06/17 02:47

 

 ORA-29273: HTTP 请求失败

ORA-06512: "SYS.UTL_HTTP", line 1722

ORA-24247:网络访问被访问控制列表(ACL)拒绝

ORA-06512: line 1

原因:首次使用webservice的时候没有创建acl访问控制权限。

解决:

1创建一个 ACL

BEGIN  

dbms_network_acl_admin.create_acl(acl         => 'httprequestpermission.xml',  

                                  DESCRIPTION => 'Normal Access',  

                                   principal   => 'CONNECT',  

                                   is_grant    => TRUE,                                        PRIVILEGE   => 'connect',  

                                   start_date  => NULL,  

                                   end_date    => NULL);  

END

参数 principal => 'CONNECT' 表示该 ACL 适用于 CONNECT 角色。该 ACL 是作为一个httprequestpermission.xml文件创建的。

 

2、查看是否创建成功

select host, lower_port, upper_port, acl from dba_network_acls;

 

select v.ACL,

v.principal,

v.privilege,

v.is_grant,

v.start_date,

v.end_date

from dba_network_acl_privileges v;

 

3、 ACL 增加一个权限:

begin  

    dbms_network_acl_admin.add_privilege(acl        => 'httprequestpermission.xml',  

                                         principal  => 'SCOTT',  

                                         is_grant   => TRUE,  

                                         privilege  => 'connect',  

                                         start_date => null,  

                                         end_date   => null);  

end;  

 

4分配将受该 ACL 制约的主机以及其他详细信息:

begin  

    dbms_network_acl_admin.assign_acl(acl        => 'httprequestpermission.xml',  

                                      host       => '10.1.1.12',  

                                      lower_port => 8011,  

                                      upper_port => NULL);  

end

 

 

  

  

  

  

  

  

  

0 0
原创粉丝点击