BIRT - task.render() retorna erro de Servlet

Opa!

Pessoal estou com um problema aqui!

Estou usando a API do BIRT para gerar arquivo pdf para os meus relatórios, que já existem em rptdesign, numa pasta já informada.

Vou colocar a parte do código que interessa aqui para darem uma olhada.
Debuggando, o erro acontece na linha comentada.


//ObjRel = ObjetoRelatorio de sessão.
//getNomeRela() = retorna nome do relatorio
//montaNomeRelatorio() = constroi uma string com buscaLocal(), que retorna a pasta já declada.

            resp.setContentType("application/pdf");
            resp.setHeader("Content-Disposition", 
                           "inline; filename=" + ObjRel.relatorio.getNomerela() + 
                           ".pdf");
            IRenderTask task;
            report_design = ObjRel.montaNomeRelatorio();
            report_document = ObjRel.buscaLocal() + "pdfbug_reportdocument";
            try {
                createReportDocument(report_design, report_document);
                IReportDocument reportDoc = 
                    birtReportEngine.openReportDocument(report_document);
                IRenderOption pdfRenderOptions = new HTMLRenderOption();
                HTMLRenderContext renderContext = new HTMLRenderContext();
                HashMap appContext = new HashMap();
                appContext.put(EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, 
                               renderContext);

                pdfRenderOptions.setOutputFormat("pdf");
                pdfRenderOptions.getOutputSetting().put(HTMLRenderOption.URL_ENCODING, 
                                                        "UTF-8");

                outputFileName = 
                        ObjRel.buscaLocal() + ObjRel.getRelatorio().getNomerela() + 
                        ".pdf";
                removeFile(outputFileName);

                pdfRenderOptions.setOutputFileName(outputFileName);
                task = birtReportEngine.createRenderTask(reportDoc);
                task.setLocale(Locale.ENGLISH);
                task.setAppContext(appContext);
                task.setRenderOption(pdfRenderOptions);
                ObjRel.setPdf(false);
                task.render(); //esta é a linha onde o erro ocorre
                task.close();

            } catch (Exception e) {
                e.printStackTrace();

                throw new ServletException(e);
            }

O erro gerado é o seguinte…

javax.faces.FacesException: javax.servlet.ServletException: Error in servlet
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:327)
	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
	at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)

.....

Caused by: javax.servlet.ServletException: Error in servlet
	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:773)
	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:298)

Tenho algumas dúvidas, como suspeitas:

1 - será que esse código não é válido para um servlet, sendo que este codigo faz parte do metodo get, e entao deveria eu construir um IRunAndRenderTask ao inves de IRenderTask?
2 - será que devo mudar o tipo de response contentType?
3 - alguém me ajuda? ^^

Prolixamente,
Scott