Anyway, he's off galavanting in Europe right now and I offered to help support his application is his absence (slacker).
Of course he leaves me with a whopper of a problem...the PDFs won't generate correctly.
I've been out of the daily ApEx world for going on 2 years now. I try to keep up by reading blogs and such, but there's no replacement for doing it every day.
So we've got the latest version of ApEx (3.1.2) running on Oracle XE (dev environment) to be deployed on a 10.2.0.3 Enterprise Edition Oracle Server running on Windows. At least I understand Windows.
Dan is using FOP to render the PDFs. I have no idea what it means, only that it is Java based. Do I put it in the database? No. It runs from the OC4J server. OK, I have a little experience with that...but it was mostly command line, at some point they (being Oracle) finally made a nice and pretty front end (where the hell was that before?).
Back to ApEx. Interactive Reports. Check the box for PDFs (I'm skipping the whole setting it up through the administrative interface on purpose, but rest-assured, it was set up). I open the page, click on the Interactive Reports thingy, select PDF and Open. Invalid File Type. What? Tried saving it to file, same error.
Maybe this latest greatest Adobe Reader (9 something) can't read...but their latest greatest should be able to read any pdf created by any version right? I'll just open up the file in Notepad. Big clue...right at the top:
ORA-29273: HTTP request failedAwesome! It's an Oracle error...I can fix that (hopefully).
ORA-06512: at "SYS.UTL_HTTP", line 1186
ORA-12570: TNS:packet reader failure
I went through the forums which let me here. Didn't really help me much. But I did realize the OC4J server wasn't running. Barnacles.
Started it through the provided .bat file. Go through the steps again, still invalid. But I have a new error in the file:
500 Internal Server ErrorCloser.
An error occurred. Consult your application/system administrator for support.
Programmers should consider setting the init-param debug_mode to "true" to see the
complete exception message.
This is where my old command line skills came in handy. .bat file looks like this:
set ORACLE_HOME=C:\OAS\oc4j_101340I know where the oc4j file is now, let's start it from the command line:
set JAVA_HOME=C:\Program Files\Java\jre1.6.0_07\
c:\java -jar c:\oas\oc4j_101340\j2ee\home\oc4j.jarRun the PDF again, check console to see what happened. An error! Some sort of jsp exception which of course I don't have and can't repeat now.
08/11/19 21:57:01 Oracle Containers for J2EE 10g (10.1.3.4.0) initialized
So I add -Dbuild.debug=true to the command. Right in the middle of it I see
!!!!!cannot find javac compiler!!!!!!If ever a clue there was.
Which java is it using? The JRE? Of course there's no compiler, that's a runtime environment. Where's JDeveloper? It has a compiler. c:\jdeveloper\jdk Plug it in a voila! It works.
So apparently it has to be compiled on first use (it's been awhile since I've used J2EE), and that's the reason I can't (or won't) recreate the problem.
A small lesson learned in...something.