Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-20987 “The requested URL has been prohibited” and ORA-29273 when calling JasperReports REST from APEX (Docker Environment

Malek Al-Edresi83 minutes ago

Hi everyone,

I’m trying to call JasperReports Server REST endpoints from Oracle APEX using APEX_WEB_SERVICE.MAKE_REST_REQUEST, but I’m receiving two different errors depending on the URL. The same URLs work correctly when tested from inside the Docker container using curl.

Below are all environment details and the exact errors.

Environment

  • Host OS: Ubuntu 22.04

  • Containers: Docker Engine (latest)

  • Database Type: Oracle Autonomous Database (Free) running inside a Docker container

  • Oracle Database Version: Oracle Free / 23ai (Docker image: oracle-adb-26ai)

  • Oracle APEX Version: 24.2 (APEX_240200)

  • ORDS/APEX: Preconfigured inside Oracle Autonomous Database Free Docker image

  • Pluggable DB: MYATP

  • JasperReports Server: Community Edition running in a separate Docker container

  • Docker Network: All containers running on the same custom Docker network

  • Internal Hostnames:

    • JasperReports → jasperreports
  • Connectivity Check: From inside the DB container:

  • docker exec oracle-adb-26ai curl -v -u jasperadmin:jasperadmin \
        http://jasperreports:8080/jasperserver/rest_v2/info
    

    → Connectivity is OK.

  • Reverse Proxy: Traefik / Nginx exposing HTTPS endpoint https://reports.local

  • SSL Wallet: Not yet configured inside the Autonomous Database container

Issue 1 — ORA-20987 when calling HTTP internal Docker hostname

l_response := APEX_WEB_SERVICE.MAKE_REST_REQUEST(
    p_url         => 'http://jasperreports/jasperserver/rest_v2/info',
    p_http_method => 'GET',
    p_username    => 'jasperadmin',
    p_password    => 'jasperadmin'
);

Result:

ERR: ORA-20987: The requested URL has been prohibited. Contact your administrator.

APEX blocks the request even though Docker networking works fine.

Issue 2 — ORA-29273 when calling HTTPS through reverse proxy


l_response := APEX_WEB_SERVICE.MAKE_REST_REQUEST(
    p_url         => 'https://reports.local/jasperserver/rest_v2/serverInfo',
    p_http_method => 'GET',
    p_username    => 'jasperadmin',
    p_password    => 'jasperadmin'
);

Result:

ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1189

Likely due to:

  • Missing Oracle Wallet
  • Self-signed certificate not trusted
  • APEX network restrictions

Summary

  • Docker containers can communicate normally (tested with curl).
  • APEX generates ORA-20987 when accessing internal HTTP URLs.
  • HTTPS endpoint returns ORA-29273, probably due to missing wallet/certificate.
  • Since the database is Autonomous Database running in Docker, some APEX network ACLs and URL restrictions may still apply.

Administrator Oracle APEX

Questions for the community

  1. What configuration in APEX 24.2 triggers ORA-20987?
    • Is there a built-in URL allowlist that must be updated?
    • Does Autonomous Database Free (Docker version) enforce stricter outbound rules?
  2. For the HTTPS error (ORA-29273):
    • Should I configure an Oracle Wallet inside the Autonomous Database container?
    • How do I correctly trust a local HTTPS domain such as reports.local?
  3. For Docker deployments:
    • What is the recommended APEX/UTL_HTTP configuration to allow cross-container REST calls?
    • Any documentation or examples for Autonomous Database running on Docker?

Thank you in advance for any help!

Comments
Post Details