测试webservice的时候遇到权限问题,解决方法:添加控制策略。
select * from dba_network_acls;
SELECT v.* from dba_network_acl_privileges v;
select utl_http.request('http://10.80.38.97/services/FastServer?wsdl')
from dual;
--测试接口
select utl_http.request('http://10.80.38.97/services/FastServer?wsdl')
from dual;
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(ACL => '/sys/acls/Webservice.xml', --命名
DESCRIPTION => 'ACL_list', --描述
PRINCIPAL => 'APEX_PUBLIC_USER', --要赋权限的用户
IS_GRANT => TRUE, --true表示赋权,false表示取消赋权
PRIVILEGE => 'connect');
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL => '/sys/acls/Webservice.xml',
PRINCIPAL => 'APEX_PUBLIC_USER',
IS_GRANT => TRUE,
PRIVILEGE => 'resolve');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(ACL => '/sys/acls/Webservice.xml',
HOST => '*', --主机名,可以指定主机名,也可以使用*做为通配
lower_port => 1, --端口配置视情况而定,若需要精确控制可限定主机端口范围
upper_port => 9999);
END;
参考文章 : http://dbtricks.com/?p=159