One more thing:

After I run this servlet, I will get a java.lang.OutOfMemoryError when I try
to display another web page.  

Here is my code about FOP:

    public static final String XSLFILE = "/hr/xsl/jobdesc.xsl";
    protected Logger log = null;

    protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException
        {
        ...........

        if (log == null) {
            log = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
            MessageHandler.setScreenLogger(log);
                }

                try {
                        ...............

                String fullPath = getServletContext().getRealPath( XSLFILE
);
            File xslfile = new File(fullPath);

                        // create StreamSource for XSLT document
                        Source xslSource = new StreamSource( xslfile );

                        // create DOMSource for source XML document
                        Source xmlSource = new DOMSource( jobDocument );

                        renderBrowser(xmlSource, xslSource, response );

        }
        // catch XML parser exceptions
                catch ( ParserConfigurationException pcException ) {
                        pcException.printStackTrace();
                }
                catch (ServletException ex) {
            throw ex;
        }
        catch (Exception ex) {
            throw new ServletException(ex);
        }

        }  

 private void renderBrowser( Source xmlSource, Source xslSource,
HttpServletResponse response ) throws ServletException
   {
        try {
                        //Construct driver
                        Driver driver = new Driver();

                        //Setup logger & Renderer (output format)
                        driver.setLogger(log);
                        driver.setRenderer(Driver.RENDER_PDF);

                        //Setup output
                        ByteArrayOutputStream out = new
ByteArrayOutputStream();
                        driver.setOutputStream(out);

                        // create TransformerFactory to obtain a Transformer
                        TransformerFactory transformerFactory =
                        TransformerFactory.newInstance();

                        // create Transformer for performing XSL
transformation
                        Transformer transformer =
                        transformerFactory.newTransformer( xslSource );

                        //Resulting SAX events (the generated FO) must be
piped through to FOP
                        Result result = new
SAXResult(driver.getContentHandler());

                        // perform transformation and deliver content to
client
                        transformer.transform( xmlSource, result );

                        byte[] content = out.toByteArray();
                        response.setContentType("application/pdf");
                        response.setContentLength(content.length);
                        response.getOutputStream().write(content);
                        response.getOutputStream().flush();
        }
                // handle exception when transforming XML document
                catch ( TransformerException transformerException ) {
                         transformerException.printStackTrace( System.err );
                }
                catch (Exception ex) {
             throw new ServletException(ex);
        }
   }

I really need help to fix this problem.

Thanks

Judy Cai

-----Original Message-----
From: Jeremias Maerki [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 16, 2003 8:32 AM
To: [EMAIL PROTECTED]
Subject: Re: embedding fop0.20.5 working on jdk1.3.1-linux?

Try to find out if anything is logged in the Tomcat Logs. If not try to
set your own logger for FOP:

[1] http://xml.apache.org/fop/embedding.html#basic-logging
[2] http://xml.apache.org/fop/embedding.html#logging

If your Linux is running in a headless environment (no X subsystem) then
the following link may help:

http://xml.apache.org/fop/graphics.html#batik

Good luck!

On 15.09.2003 22:54:30 Cai, Judy wrote:
>               I have a java servlet to generate a PDF page using
> fop0.20.5. It works fine in the windows XP ( jdk1.4.1 on tomcat-4.1.24
> server). But when I moved to Open BSD with jdk1.3.1-linux on
tomcat-4.1.24,
> there was nothing to display, no any error or exception, just blank page. 
> 
>               I was exhausted to figure it out. Will anybody tell me some
> experience working fop on jdk1.3.1-linux?


Jeremias Maerki


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


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

Reply via email to