Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-21 Thread Phillip Rhodes
I have a weird and crazy idea that may help you
Why don't you install a local apache server with mod_proxy.
You can configure mod_proxy so that it can tunnel into https from your http 
connection.

1)  It's very fast, all my browsing is through a proxy server
2)  You can secure your local apache so that it would only allow requests 
from localhost
3)  It solves your problem by allowing you to make a request via http to 
get your https resource.

I am sorry if you find my suggestion ridiculous, but sometimes ridiculous 
ideas such as this one can save a lot of heartache and effort.
I guarantee it will work.


At 02:51 PM 11/19/2002 +0200, Johan Åbrandt wrote:
Hi,
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 );
driver.run();

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:

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

XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.setEntityResolver( new CustomEntityResolver() );
driver.setXMLReader( xmlReader );
driver.run();
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
[EMAIL PROTECTED]
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.
__

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Johan Åbrandt
Hi,
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 );
driver.run();

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:

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

XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.setEntityResolver( new CustomEntityResolver() );
driver.setXMLReader( xmlReader );
driver.run();
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
[EMAIL PROTECTED]
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.
__


Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Jeremias Maerki
Currently there's no possibility to set or use an EntityResolver (or
similar) but it's on the todo list. In the meantime you could try to set
the baseURL in Java code like this:

Configuration.put(baseDir, https://myserver/somedir;);

But please be aware that this currently only works in the CVS version of
FOP (branch 'fop-0_20_2-maintain'). The current release only support
local directories, no URLs. This will be in the upcoming 0.20.5 release.

On 19.11.2002 13:51:55 Johan Åbrandt wrote:
 Hi,
 
 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 );
 driver.run();
 
 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:
 
 i.e.
 
 driver = new Driver( new InputSource( reader ), out ); 
 driver.setRenderer( Driver.RENDER_PDF );
 
 XMLReader xmlReader = XMLReaderFactory.createXMLReader();
 xmlReader.setEntityResolver( new CustomEntityResolver() );
 driver.setXMLReader( xmlReader );
 
 driver.run();
 
 Does anyone have any tips how to get the EntityResolver approach to 
 work, or know any other way to achieve something similar.


Jeremias Maerki



Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Johan Åbrandt
Hi Jeremias,
Thank you for answering,
I am already using urls, i.e 
http://host.domain.com/webapp/images/foo.gif works, but 
https://host.domain.com/webapp/images/foo.gif does not.

 Currently there's no possibility to set or use an EntityResolver (or
 similar) but it's on the todo list.
Nice to hear, it would be usefull on occasion.
Br - Johan
Jeremias Maerki wrote:
Currently there's no possibility to set or use an EntityResolver (or
similar) but it's on the todo list. In the meantime you could try to set
the baseURL in Java code like this:
Configuration.put(baseDir, https://myserver/somedir;);
But please be aware that this currently only works in the CVS version of
FOP (branch 'fop-0_20_2-maintain'). The current release only support
local directories, no URLs. This will be in the upcoming 0.20.5 release.
On 19.11.2002 13:51:55 Johan Åbrandt wrote:
Hi,
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 );
driver.run();

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:

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

XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.setEntityResolver( new CustomEntityResolver() );
driver.setXMLReader( xmlReader );
driver.run();
Does anyone have any tips how to get the EntityResolver approach to 
work, or know any other way to achieve something similar.


Jeremias Maerki


--
Johan Åbrandt
Technical Project Manager
(Tekninen projektipäällikkö)
Tel. +358 9 6817 3342
Mobile. +358 40 848 8068
[EMAIL PROTECTED]
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.
__


Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Jeremias Maerki
Are your images located on the same server as FOP? If yes, you could
access the files directly by filesystem if you set baseDir to something
like:
Configuration.put(baseDir, C:\tomcat\webapps\webapp);

Surely not a clean solution but faster than going via http/https and it
could work for the moment.

On 19.11.2002 14:19:33 Johan Åbrandt wrote:
 Hi Jeremias,
 
 Thank you for answering,
 
 I am already using urls, i.e 
 http://host.domain.com/webapp/images/foo.gif works, but 
 https://host.domain.com/webapp/images/foo.gif does not.
 
   Currently there's no possibility to set or use an EntityResolver (or
   similar) but it's on the todo list.
 
 Nice to hear, it would be usefull on occasion.
 
 Br - Johan
 
 
 Jeremias Maerki wrote:
 
  Currently there's no possibility to set or use an EntityResolver (or
  similar) but it's on the todo list. In the meantime you could try to set
  the baseURL in Java code like this:
  
  Configuration.put(baseDir, https://myserver/somedir;);
  
  But please be aware that this currently only works in the CVS version of
  FOP (branch 'fop-0_20_2-maintain'). The current release only support
  local directories, no URLs. This will be in the upcoming 0.20.5 release.
  
  On 19.11.2002 13:51:55 Johan Åbrandt wrote:
  
 Hi,
 
 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 );
 driver.run();
 
 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:
 
 i.e.
 
 driver = new Driver( new InputSource( reader ), out ); 
 driver.setRenderer( Driver.RENDER_PDF );
 
 XMLReader xmlReader = XMLReaderFactory.createXMLReader();
 xmlReader.setEntityResolver( new CustomEntityResolver() );
 driver.setXMLReader( xmlReader );
 
 driver.run();
 
 Does anyone have any tips how to get the EntityResolver approach to 
 work, or know any other way to achieve something similar.



Jeremias Maerki



Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Oleg Tkachenko
Johan Åbrandt wrote:
It doesnt do the trick for me since I have no idea where any of our
customers might have decided to install their application server. Also I
am using EAR file which means that servletContext.getRealPath( string )
wouldnt do it either. I am currently looking into using the
javax.servlet.context.tempdir directory, and put the file there in
init() for later use. That solution would probably work, but I´m not
sure if I can look at myself in the mirror after such a hack...
You can also consider using kind of proxy servlet in which resolve https 
image. I mean:
fo:external-graphics 
src=url('http://foo.bar/proxyServlet?url=https://real.url')/

--
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel


Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Oleg Tkachenko
Johan Åbrandt wrote:
Personally I would put a high priority on enabling the programmer to
override resource resolution (ala EntityResolver) for FOP though. 
As Jeremias pointed out SourceResolver is already in the todo list. But when 
it would be implemented - nobody knows.

--
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel


Re: fo:external-graphic problem when using HTTPS - EntityResolver?

2002-11-19 Thread Johan Åbrandt
 As Jeremias pointed out SourceResolver is already in the todo list.
Ok, I it is this one: Integrate with Jakarta Avalon: logging, 
configuration, URI resolver, component management, image caching etc. ? 
open ?

Anyhow, thanks for the help, Oleg and Jeremias.
Br - Johan
Oleg Tkachenko wrote:
Johan Åbrandt wrote:
Personally I would put a high priority on enabling the programmer to
override resource resolution (ala EntityResolver) for FOP though. 

As Jeremias pointed out SourceResolver is already in the todo list. But 
when it would be implemented - nobody knows.


--
Johan Åbrandt
Technical Project Manager
(Tekninen projektipäällikkö)
Tel. +358 9 6817 3342
Mobile. +358 40 848 8068
[EMAIL PROTECTED]
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.
__