XSL-FO Designer for Apache FOP

How to solve the "The printing engine could not be reached because either the URL specified is incorrect or a proxy URL needs to be specified." error while using the External print server in Oracle Apex.

If you get corrupt PDF files which using an External Apache FOP server setup es below:


you have to check the debug window in the Oracle Apex page and you might see this error


The solution to this error is the 3 steps below:
  1. Connect to Oracle with:

    $ sqlplus /nolog
        SQL> CONNECT SYS as SYSDB

  2. find out your APEX user name using this query:

    select username from dba_users;

  3. after that run the code below (make sure you replace all APEX_050100 entries with the user that corresponds to your version)

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_050100
  -- the "connect" privilege if APEX_050100 does not have the privilege yet.

  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_050100', TRUE, 'connect');
  END IF;

EXCEPTION
  -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_050100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

Do not forget the COMMIT command