本文章使用plsql的utl_http包调用webservice接口。本人入门级水平 写的不好 勿喷。
调用 https接口 首先需设置oracle wallet钱包, 首先需要把网站证书添加到wallet钱包。
1.下载网站证书(具体如何下载请百度)
2.创建wallet
(1)创建钱包位置文件夹
$ mkdir -p /u01/app/oracle/admin/DB11G/wallet
(2)创建钱包
$ orapki wallet create -wallet /u01/app/oracle/admin/DB11G/wallet -pwd WalletPasswd123 -auto_login
(3)钱包创建成功后则添加信任证书到钱包
$ orapki wallet add -wallet /u01/app/oracle/admin/DB11G/wallet -trusted_cert -cert "/host/BaltimoreCyberTrustRoot.crt" -pwd WalletPasswd123
3.钱包创建好 信任证书添加成功后则开始写代码
4.对过程进行调用
(2)在调用之前需进行钱包设置
utl_http.set_wallet('钱包位置','钱包密码');
(3)ACL权限列表设置
创建网络权限列表
CREATE USER test1 IDENTIFIED BY test1; GRANT CONNECT TO test1; CREATE USER test2 IDENTIFIED BY test2; GRANT CONNECT TO test2; BEGIN DBMS_NETWORK_ACL_ADMIN.create_acl ( acl => 'test_acl_file.xml', description => 'A test of the ACL functionality', principal => 'TEST1', is_grant => TRUE, privilege => 'connect', start_date => SYSTIMESTAMP, end_date => NULL); COMMIT; END;
分配网络
BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'test_acl_file.xml', principal => 'TEST2', is_grant => FALSE, privilege => 'connect', position => NULL, start_date => NULL, end_date => NULL); COMMIT; END; /
最后调用过程
参考地址:https://oracle-base.com/articles/misc/utl_http-and-ssl
https://oracle-base.com/articles/11g/fine-grained-access-to-network-services-11gr1