Hi
I tried my DBA hat today in an effort to set up the Apache FOP to allow users to download interactive reports as PDF.
I've been advised this was working previously - although I'm not sure how since there was no report printing infrastructure set up.
We have APEX 4.1.1 using Apache on Windows server 2003.
It started because we saw one of two errors in the generated PDF
ORA-20001: The printing engine could not be reached because either the URL specified is incorrect or a proxy URL needs to be specified.
or
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
As much of the documentation indicates, the first suggests a problem with ACL. I had a little trouble finding documentation stating specifically which acl should be defined for IR PDF printing, but we did ensure the listings in the dba_network_acl* views were current with
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
acl => 'print_service.xml',
description => 'PRINTER ACL',
principal => 'APEX_040100',
is_grant => true,
privilege => 'connect');
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'print_service.xml',
principal => 'APEX_040100',
is_grant => true,
privilege => 'resolve');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
acl => 'print_service.xml',
host => '*',
lower_port => null,
upper_port => null);
COMMIT;
END;
/
I'm still unable to identify where the second error (ORA-06502) is coming up - which is apparently new. So I attempted to deploy the fop.war file using EM, adapting instructions from
http://www.apexninjas.com/blog/2011/02/setup-apex-pdf-report-printing-with-oc4j/
http://www.oracle.com/technetwork/developer-tools/apex/application-express/configure-printing-093060.html
although I think I may have missed a mark since these instructions differ from using the OC4J EM - but I guessed there was fair correlation.
From the EM home on our app server, I created a new OC4J instance called "APEX_Reports"
I then went to deploy the fop.war file using "fop" as application name, and "/fop/" as the map to url.
Back in APEX instance management, I set up
Print Server: External (Apache FOP)
Protocal: http
Print server address: dev.ouractualdomain.com.au
print server port: 18100
Print server script: /fop/apex_fop.jsp>
I used the same port as that in the EM address. I've also tried variations using
localhost
8888
/fop/fop/apex_fop.jsp
The reason for the /fop/fop/ attempt was because I located the jsp file in
C:\Ora10gFRShome\j2ee\APEX_Reports\applications\fop\fop
(I've been trying everything)
Other port numbers attempted include those types (JMS,RMI,AJP) listed for the APEX_Reports component.
Do we need to restart anything or re-login to APEX before testing modifications?
I appreciate any suggestions, particularly any that may lead to face palm.
Let me know if I've missed any pertinent facts.
Cheers,
Scott