I wrote a servlet converting some xml to a pdf. The code (appended) is basically a slightly modified version of the example code in the fop faq about servlets.
When I start Tomcat 5.5 with a security manager I get this weird exception (appended) when I try to access the servlet. When I don’t start it with a security manager the servlet just works. I don’t get why. I added following jars to my common/endorsed folder: serializer-2.7.0.jar xalan-2.7.0.jar xercesImpl-2.7.1.jar The other jar’s that came with fop are in common/lib, contents of that folder: avalon-framework-4.2.0.jar batik-all-1.6.jar commons-el.jar commons-io-1.1.jar commons-logging-1.0.4.jar fop.jar jasper-compiler-jdt.jar jasper-compiler.jar jasper-runtime.jar jsp-api.jar naming-factory-dbcp.jar naming-factory.jar naming-resources.jar servlet-api.jar xml-apis-1.3.02.jar xmlgraphics-commons-1.1.jar Any thoughts? Sincerely Roel java.lang.UnsupportedOperationException: Don't know how to handle "application/pdf" as an output format. Neither an FOEventHandler, nor a Renderer could be found for this output format. org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.j ava:224) org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:98) org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:147) org.apache.fop.apps.Fop.<init>(Fop.java:82) org.apache.fop.apps.FopFactory.newFop(FopFactory.java:204) be.jprupel.Dbase.Static.FopExport.doPost(FopExport.java:92) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAsPrivileged(Unknown Source) org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:16 1) code: ByteArrayOutputStream out = new ByteArrayOutputStream(); FopFactory ff=FopFactory.newInstance(); TransformerFactory tf=TransformerFactory.newInstance(); StreamSource xslfo=new StreamSource(Doc.localContext.concat("/lid-pdf.xsl")); try { Templates tt=tf.newTemplates(xslfo); Fop fp=ff.newFop(MimeConstants.MIME_PDF, out); DOMResult res = new DOMResult(); Source src= new DOMSource(doc); tt.newTransformer().transform(src, res); Transformer t2=tf.newTransformer(); t2.transform(new DOMSource(res.getNode()), new SAXResult(fp.getDefaultHandler())); //Prepare response response.setContentType("application/pdf"); response.setContentLength(out.size()); //Send content to Browser response.getOutputStream().write(out.toByteArray()); response.getOutputStream().flush(); } catch (FOPException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerConfigurationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.9.1/854 - Release Date: 19/06/2007 13:12