REST使用Oracle APEX调用自签名但未经过认证的网站

时间:2016-08-18 08:55:37

标签: oracle ssl

我试图通过执行PL / SQL代码,使用APEX将一些数据发布到网站。

问题是,该网站的证书是自签名的,因此未经过适当的认证,而且我收到以下错误:

  

ORA-29273:HTTP请求失败ORA-06512:at" SYS.UTL_HTTP",1130行   ORA-28860:致命的SSL错误

我使用以下代码:

  

程序publish_error_tickets

     

 req utl_http.req;
 res utl_http.resp;
 url varchar2(4000) := 'https://some_url';
 name varchar2(4000);
 buffer varchar2(4000); 
 content varchar2(4000) := 
 '{
 "issue": {
   "project_id": 1,
   "subject": "Example",
   "priority_id": 4
   }
 }';    begin

 req := utl_http.begin_request(url, 'POST',' HTTP/1.1');
 utl_http.set_header(req, 'user-agent', 'mozilla/4.0'); 
 utl_http.set_header(req, 'content-type', 'application/json'); 
 utl_http.set_header(req, 'Content-Length', length(content));

 utl_http.write_text(req, content);
 res := utl_http.get_response(req);
 begin
   loop
     utl_http.read_line(res, buffer);
     dbms_output.put_line(buffer);
   end loop;

   utl_http.end_response(res);
 exception
   when utl_http.end_of_body 
   then
     utl_http.end_response(res);
 end;    end;

我的问题是,是否有可能以某种方式忽略http消息的证书验证过程?必须有一种方法可以访问网站,而无需为该网站购买经过验证的证书。

提前致谢, 的Tamas

1 个答案:

答案 0 :(得分:1)

对于任何有同样问题的人,我让它使用了Jeffrey Kemp发布的解决方案(http://blog.rhjmartens.nl/2015/07/making-https-webservice-requests-from.html),使用反向代理,它就像一个魅力!