Hi guys,

I am delivering a PDF-Document with wicket like this:


            Document document = new Document();
            String filename = "bestandsfax.pdf";
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            PdfWriter.getInstance(document, baos);
            document.open();

            BestandsfaxCreator bfc = new BestandsfaxCreator(filiale, grp);
            bfc.createBestandsfax(document);

            document.close();

            WebResponse response = (WebResponse) getResponse();
            response.setHeader("Expires", "0");
            response.setHeader("Cache-Control", "must-revalidate,
post-check=0, pre-check=0");
            response.setHeader("Pragma", "public");

            response.setHeader("Content-Disposition", "attachment;filename="
+ filename);

            response.setContentType("application/pdf");

            // the contentlength is needed for MSIE!!!
            response.setContentLength(baos.size());

            OutputStream outputStream = response.getOutputStream();
            outputStream.write(baos.toByteArray());
            outputStream.flush();

This works fine, except taht there is an IllegalStateException thrown after
the delivery.

2007-10-26 12:19:59,062 ERROR [http-8080-Processor25]
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/frontend].[default]:
Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
    at org.apache.catalina.connector.ResponseFacade.sendRedirect(
ResponseFacade.java:433)
    at org.apache.wicket.protocol.http.WebResponse.redirect(WebResponse.java
:214)
    at org.apache.wicket.protocol.http.BufferedWebResponse.close(
BufferedWebResponse.java:67)
    at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java
:271)
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(
WicketFilter.java:127)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:210)
    at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:870)
    at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:685)
    at java.lang.Thread.run(Thread.java:619)


This has no effect on the PDF, or the Wicket-Application that I could
discover. Anyhow it would be nicer, if there was no Exception.

Has anyone an idea how to get rid of it?

Regards,
Benjamin

Reply via email to