I have the following external graphic declaration in a XML file:

<fo:external-graphic src="url('{$base-url}/images/logo.jpg')" height="30pt" width="170pt"/>

I render it to a servlet outputstream using:

Driver driver;
driver = new Driver( new InputSource( reader ), out ); driver.setRenderer( Driver.RENDER_PDF );

This works just fine when having the server configured for HTTP but when using HTTPS, it fails with error:

Error while creating area : Error with image URL: unknown certificate and no base directory is specified

I think this is because I am using a own generated certificate and not a real certificate from f ex Verisign. I know that I can either create my own SecurityManager (effectively disabling security), or use a real certificate. I would however like to circumvent all such hazzles and retrieve the image in some other means instead, intially I tried to use a custom EntityResolver, but I doesnt seem like it is used for image url resolution:


driver = new Driver( new InputSource( reader ), out ); driver.setRenderer( Driver.RENDER_PDF );

XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.setEntityResolver( new CustomEntityResolver() );
driver.setXMLReader( xmlReader );


Does anyone have any tips how to get the EntityResolver approach to work, or know any other way to achieve something similar.

Best regards - Johan

Johan Åbrandt

Technical Project Manager
(Tekninen projektipäällikkö)
Tel. +358 9 6817 3342
Mobile. +358 40 848 8068

Profit Software Oy
Meritullinkatu 11 C
00170 Helsinki, Finland


This message and its attachments have been found clean from known viruses with three different antivirus programs.

Reply via email to