背景:
短信平台:平台基础webservice的方式实现,提供发送短信功能。
数据库从Oracle 10g 升级为Oracle11g之后的存储过程调用短信平台接口出现异常。
异常:
ORA-29273: HTTP 请求失败
ORA-06512: 在 "SYS.UTL_HTTP", line 1722
ORA-12541: TNS: 无监听程序
ORA-06512: 在 line 1
处理方法:
--添加http请求,以principal:用户/角色,DRVTRAINING为用户
BEGIN
dbms_network_acl_admin.create_acl(acl => 'httprequest.xml',
DESCRIPTION => 'Normal Access',
principal => 'DRVTRAINING',
is_grant => TRUE,
PRIVILEGE => 'connect',
start_date => NULL,
end_date => NULL);
END;
--添加访问的地址,端口,DRVTRAINING为用户
begin
dbms_network_acl_admin.assign_acl(acl => 'httprequest.xml',
host => '172.17.0.144',
lower_port => 8082,
upper_port => NULL);
end;
--查看acl信息
SELECT acl,
principal,
privilege,
is_grant,
TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
FROM dba_network_acl_privileges;
--测试首界面
select utl_http.request('http://172.17.0.144:8082')
from dual;
--测试接口
select utl_http.request('http://172.17.0.144:8082/finger/services/ICSMSService?wsdl')
from dual;