April 27, 2011 at 22:55#26554
We run Java web servers in several different types of environments, some secure and some not secure. From the non-secure environments, the PD4ML library works flawlessly. However, the exact same HTML rendered in a secure environment does not work. In fact, something strange happens.
We are running Tomcat 5.0 and Sun servers each using some version of Java 1.4. All are in Windows environments (various).
We send the output of the Java code to our server log. When all is normal, we will get output like the following:
version: PD4ML 360 Pro
new parse attempt with: UTF8
done in 1578ms.
DEBUG: After render()
The DEBUG statement is our output. The first 3 are generated by PD4ML. When we run in the secure environment, all we get is the first line, the version. We should at least get the DEBUG statement, but somehow PD4ML blows our Java code out of the class so that the DEBUG statement is never printed. We have the code wrapped within a try/catch which will catch Exception as well as three other specific exceptions.
The code we’ve tested with is as simple as:
Has anybody else experienced this and if so, how did you fix it?
TimApril 29, 2011 at 15:42#28520
Someone from PD4ML Please answer this question!?! We need to get this to work for a customer delivery.
TimApril 29, 2011 at 15:53#28521
What do you mean under “secure environment”? Do you try to load the source HTML by HTTPS?April 29, 2011 at 16:00#28522
Yes. Our client’s entire environment is HTTPS and firewalled, etc. We view the results of the server log and can see the HTML stream that is fed to PD4ML and as a test, we used very basic HTML as shown in my first post, so there no CSS nor are there any images, just a small bit of valid HTML. It renders fine in our development environment, but in theirs, the log displays the PD4ML version and then nothing else. We have PD4ML debug turned on. Please tell us how to fix this.
TimApril 29, 2011 at 16:07#28523
PD4ML does not “officially” support HTTPS, however it implements very basic HTTPS resource loader (using the standard JDK classes). WebSphere and Weblogic implement their own versions of HTTPS protocol, and the implementations are not derived from the standard API. That causes ClassCastExceptions (or some strange behavior) on the platforms by attempts to load HTTPS resources.
As you wrote, your application runs on Tomcat platform, we never experienced such problem with. So first I would recommend to upgrade to the most recent v371b1 and to check if the problem is still there.April 29, 2011 at 16:45#28524
Can you venture a guess as to why the Java code essentially gets completely thrown out of the method that renders the PDF without being caught by the exception handler?May 4, 2011 at 11:49#28525
It is a possible situation it is stuck completely (or delayed for a very long period of time) in a failed network transaction. Misused SSL layer may behave a strange way.
But to make sure we do not face an already solved bug, I would recommend to start with an upgrade to the most recent version of PD4ML.
The forum ‘HTML/CSS rendering issues’ is closed to new topics and replies.