从APEX开发人员服务中调用自定义域REST-Enabled SQL Service



我的生产应用程序是一个APEX应用程序已经运行在一个自定义域(mydomain.com)。我已经配置了支持rest的SQL Service,并从我的另一个自定义域中的另一个APEX安装成功地连接到它。所以这看起来很好。

现在,我已经在oraclecloud上启动了一个新的APEX开发者服务环境,并且我正在尝试创建一个支持rest的SQL服务引用来指向mydomain.com实例。我得到一个典型的错误,说端点没有指向一个支持rest的SQL服务。

过去,当我遇到这个问题时,我是这样解决的:

  • 为远程域创建ACL,允许响应返回到请求者,
  • 修改请求者的钱包以包含远端域的根CA证书。这是必需的,因为我的自定义远程实例正在运行HTTPS。

据我所知,这两种方法都需要数据库和/或文件系统访问,而我在oraclecloud上的APEX Developer Service环境中没有。

所以,我的问题是:有可能做到这一点吗?如果有可能,怎么做?

您可以在SQL命令中执行以下命令,以测试(yourdomain.com)中APEX服务和您的APEX实例之间的网络连接。

declare
l_result clob;
begin
l_result := apex_web_service.make_rest_request(
p_url =>         'http://server.yourdomain.com/path/to/restenabledsql/_/sql',
p_http_method => 'GET' );
htp.p( 'Status: ' || apex_web_service.g_status_code );
end;

由于此块不传递凭据,因此它将永远无法正常工作。但是,根据抛出的错误消息,我们有望得到关于实际原因的更好指示。

最新更新