You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Benjamin Chew <bc...@smarthealth.com> on 2019/08/22 20:04:57 UTC
Streaming a PDF into an iFrame
Hi,
I'm pretty new to Wicket, and am trying to figure out how to stream a PDF
into an iFrame. I've searched for a solution and come across Ernesto's
DocumentInlineFrame class here:
https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
Since IResourceListener is no longer a part of Wicket 8, I've modified the
class in these ways:
1) The class implements IRequestListener
2) Return urlForListener(null) in getURL()
3) Renamed onResourceRequested() to onRequest()
But I'm getting an error:
ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error occurred
java.lang.IllegalStateException: Committed
The code and full stack trace are below. Any ideas on what I'm doing wrong?
Thanks,
Ben
/*** CODE ***/
public class DocumentInlineFrame extends WebMarkupContainer implements
*IRequestListener* {
private static final long serialVersionUID = 1 L;
private IResource documentResource;
/**
* Constructor receiving an IResourceStream..
*
* @param id
* @param stream
*/
public DocumentInlineFrame(String id, IResourceStream stream) {
this(id, new ResourceStreamResource(stream));
}
/**
* Constructor receiving an IResource..
*
* @param id
* @param resourceListener
*/
public DocumentInlineFrame(final String id, IResource documentResource)
{
super(id);
this.documentResource = documentResource;
}
/**
* Gets the url to use for this link.
*
* @return The URL that this link links to
*/
protected CharSequence getURL() {
//return urlForListener(new PageParameters());
*return urlForListener(null);*
}
/**
* Handles this frame's tag.
*
* @param tag the component tag
* @see org.apache.wicket.Component#onComponentTag(ComponentTag)
*/
@Override
protected void onComponentTag(final ComponentTag tag) {
checkComponentTag(tag, "iframe");
// Set href to link to this frame's frameRequested method
CharSequence url = getURL();
// generate the src attribute
tag.put("src", Strings.replaceAll(url, "&", "&"));
super.onComponentTag(tag);
}
@Override
protected boolean getStatelessHint() {
return false;
}
@Override
public void onRequest() {
*RequestCycle requestCycle = RequestCycle.get(); Attributes
attributes = new Attributes(requestCycle.getRequest(),
requestCycle.getResponse(), null);
this.documentResource.respond(attributes);*
}
}
/*** END CODE ***/
/*** STACK TRACE ***/
Aug 22 12:37:54 WARN RequestCycleExtra - ********************************
Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
Unexpected error occurred
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
at
org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
at
org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
at
org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
at
org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:745)
Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
Exception retry count exceeded
java.lang.IllegalStateException: STREAM
at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
at
org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
at
org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
at
org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
at
org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:745)
/*** END STACK TRACE ***/
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
Thanks Martin, I will look into that.
Ben
On Wed, Aug 28, 2019 at 11:01 PM Martin Grigorov <mg...@apache.org>
wrote:
> Hi,
>
> Check the response headers of PDF.
> If chunked transfer encoding is used then maybe you can fix it by providing
> explicitly the Content-Lenght in your Wicket code.
>
> On Thu, Aug 29, 2019 at 12:05 AM Benjamin Chew <bc...@smarthealth.com>
> wrote:
>
> > Yes, they are the full PDFs that I'm expecting.
> >
> > Ben
> >
> >
> > On Wed, Aug 28, 2019 at 12:34 PM Lon Varscsak <lo...@gmail.com>
> > wrote:
> >
> > > If it's closing the connection on the PDF pre-maturely, are you getting
> > the
> > > FULL PDF downloaded?
> > >
> > > -Lon
> > >
> > > On Wed, Aug 28, 2019 at 10:14 AM Benjamin Chew <bc...@smarthealth.com>
> > > wrote:
> > >
> > > > Hi Sven,
> > > >
> > > > Hmm... so this seems to be a problem only on specific browsers.
> > > >
> > > > I'm seeing this on:
> > > > - Google Chrome Version 76.0.3809.100 (OS X Mojave & Win 7)
> > > > - Safari Version 12.1.2 (OS X Mojave)
> > > > - IE 11 Version 11.0.135 (Win 7)
> > > >
> > > > And not seeing this on:
> > > > - Firefox Quantum 68.0.2 (OS X Mojave)
> > > > - Firefox Quantum 68.0.1 (Win 7)
> > > >
> > > > Knowing this, I'm going to move on from this issue (for now), but
> > thanks
> > > > for all your help!
> > > >
> > > > Ben
> > > >
> > > >
> > > > On Wed, Aug 28, 2019 at 9:32 AM Sven Meier <sv...@meiers.net> wrote:
> > > >
> > > > > Hi Ben,
> > > > >
> > > > > which browser?
> > > > >
> > > > > We had long time problems with IE stopping requests an
> re-requesting
> > > > > resources without reason.
> > > > >
> > > > > Sven
> > > > >
> > > > > Am 28. August 2019 16:18:23 MESZ schrieb Benjamin Chew <
> > > > > bchew@smarthealth.com>:
> > > > > >Thanks, Sven.
> > > > > >
> > > > > >The weird thing is that this is happening during my testing, and
> I’m
> > > > > >not navigating away from the page at all...
> > > > > >
> > > > > >Ben
> > > > > >
> > > > > >> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net>
> wrote:
> > > > > >>
> > > > > >> Hi Benjamin,
> > > > > >>
> > > > > >> this just means that the browser closed the connection before
> the
> > > pdf
> > > > > >was fully loaded from the server, e.g. if the user switches to a
> > > > > >different page before the iframe has finished loading.
> > > > > >>
> > > > > >> Nothing you need/can do about it.
> > > > > >>
> > > > > >> Have fun
> > > > > >> Sven
> > > > > >>
> > > > > >>
> > > > > >>> On 27.08.19 02:13, Benjamin Chew wrote:
> > > > > >>> I said thanks too soon. ;)
> > > > > >>>
> > > > > >>> Now I'm seeing this warning intermittently:
> > > > > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > > > > >>> org.eclipse.jetty.io.EofException
> > > > > >>> Caused by: org.eclipse.jetty.io.EofException
> > > > > >>> Caused by: java.io.IOException: Broken pipe
> > > > > >>>
> > > > > >>> Is there anything in the DocumentInlineFrame class or the way
> I'm
> > > > > >using it
> > > > > >>> that would cause this problem?
> > > > > >>>
> > > > > >>> Thanks,
> > > > > >>> Ben
> > > > > >>>
> > > > > >>> /*** Calling Class ***/
> > > > > >>> queue(new DocumentInlineFrame("ticketsIFrame", new
> > > > > >ResourceStreamResource()
> > > > > >>> {
> > > > > >>> @Override
> > > > > >>> protected IResourceStream getResourceStream(Attributes
> > > > > >attributes) {
> > > > > >>> return
> > > > > >>>
> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
> > > > > >>> }
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>> /*** DocumentInlineFrame Class ***/
> > > > > >>> public class DocumentInlineFrame extends WebMarkupContainer
> > > > > >implements
> > > > > >>> IRequestListener {
> > > > > >>> private static final long serialVersionUID = 1 L;
> > > > > >>> private IResource documentResource;
> > > > > >>>
> > > > > >>> /**
> > > > > >>> * Constructor receiving an IResourceStream..
> > > > > >>> *
> > > > > >>> * @param id
> > > > > >>> * @param stream
> > > > > >>> */
> > > > > >>> public DocumentInlineFrame(String id, IResourceStream
> > stream) {
> > > > > >>> this(id, new ResourceStreamResource(stream));
> > > > > >>> }
> > > > > >>>
> > > > > >>> /**
> > > > > >>> * Constructor receiving an IResource..
> > > > > >>> *
> > > > > >>> * @param id
> > > > > >>> * @param resourceListener
> > > > > >>> */
> > > > > >>> public DocumentInlineFrame(final String id, IResource
> > > > > >documentResource)
> > > > > >>> {
> > > > > >>> super(id);
> > > > > >>> this.documentResource = documentResource;
> > > > > >>> }
> > > > > >>>
> > > > > >>> /**
> > > > > >>> * Gets the url to use for this link.
> > > > > >>> *
> > > > > >>> * @return The URL that this link links to
> > > > > >>> */
> > > > > >>> protected CharSequence getURL() {
> > > > > >>> return urlForListener(null);
> > > > > >>> }
> > > > > >>>
> > > > > >>> /**
> > > > > >>> * Handles this frame's tag.
> > > > > >>> *
> > > > > >>> * @param tag the component tag
> > > > > >>> * @see
> > > org.apache.wicket.Component#onComponentTag(ComponentTag)
> > > > > >>> */
> > > > > >>> @Override
> > > > > >>> protected void onComponentTag(final ComponentTag tag) {
> > > > > >>> checkComponentTag(tag, "iframe");
> > > > > >>>
> > > > > >>> // Set href to link to this frame's frameRequested
> method
> > > > > >>> CharSequence url = getURL();
> > > > > >>>
> > > > > >>> // Generate the src attribute
> > > > > >>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > > > > >>>
> > > > > >>> super.onComponentTag(tag);
> > > > > >>> }
> > > > > >>>
> > > > > >>> @Override
> > > > > >>> protected boolean getStatelessHint() {
> > > > > >>> return false;
> > > > > >>> }
> > > > > >>>
> > > > > >>> @Override
> > > > > >>> public boolean rendersPage() {
> > > > > >>> return false;
> > > > > >>> }
> > > > > >>>
> > > > > >>> @Override
> > > > > >>> public void onRequest() {
> > > > > >>> RequestCycle requestCycle = RequestCycle.get();
> > > > > >>> Attributes attributes = new
> > > > > >Attributes(requestCycle.getRequest(),
> > > > > >>> requestCycle.getResponse(), null);
> > > > > >>>
> > > > > >>> this.documentResource.respond(attributes);
> > > > > >>> }
> > > > > >>> }
> > > > > >>>
> > > > > >>>
> > > > > >>>
> > > > > >>> /*** Full Stacktrace ***/
> > > > > >>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the
> following
> > > > > >exception
> > > > > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > > > > >>> org.eclipse.jetty.io.EofException
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
> > > > > >>> at
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > > > >>> at
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > > >>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > > > >>> at
> > > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > > > >>> at
> > > > > >>>
> > > > > >org.eclipse.jetty.io
> > > > >
> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > > > >>> at org.eclipse.jetty.io
> > > .FillInterest.fillable(FillInterest.java:103)
> > > > > >>> at
> > > > > >org.eclipse.jetty.io
> > .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > > > >>> at java.lang.Thread.run(Thread.java:745)
> > > > > >>> Caused by: org.eclipse.jetty.io.EofException
> > > > > >>> at
> > > > > >org.eclipse.jetty.io
> > .ChannelEndPoint.flush(ChannelEndPoint.java:286)
> > > > > >>> at org.eclipse.jetty.io
> > .WriteFlusher.flush(WriteFlusher.java:393)
> > > > > >>> at org.eclipse.jetty.io
> > .WriteFlusher.write(WriteFlusher.java:277)
> > > > > >>> at
> > > > > >org.eclipse.jetty.io
> > > .AbstractEndPoint.write(AbstractEndPoint.java:380)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > > > > >>> at
> > > > >
> > >org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
> > > > > >>> at
> > > > >
> > >
> >org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
> > > > > >>> at
> > org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
> > > > > >>> at
> org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
> > > > > >>> at
> org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
> > > > > >>> at
> org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
> > > > > >>> at java.io.OutputStream.write(OutputStream.java:75)
> > > > > >>> at
> > > > > >>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
> > > > > >>> ... 48 more
> > > > > >>> Caused by: java.io.IOException: Broken pipe
> > > > > >>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
> > > > > >>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
> > > > > >>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
> > > > > >>> at
> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
> > > > > >>> at
> > > > > >org.eclipse.jetty.io
> > .ChannelEndPoint.flush(ChannelEndPoint.java:266)
> > > > > >>> ... 67 more
> > > > > >>>
> > > > > >>>
> > > > > >>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew
> > > > > ><bc...@smarthealth.com> wrote:
> > > > > >>>>
> > > > > >>>> Thanks, Sven.
> > > > > >>>>
> > > > > >>>> And thanks Ernesto for writing that example in the first
> place!
> > > > > >>>>
> > > > > >>>> Ben
> > > > > >>>>
> > > > > >>>>
> > > > > >>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
> > > > > >>>> reiern70@gmail.com> wrote:
> > > > > >>>>
> > > > > >>>>> Hi,
> > > > > >>>>>
> > > > > >>>>> Thanks for reporting this. I will fix the example and adapt
> it
> > to
> > > > > >wicket
> > > > > >>>>> 8.x.
> > > > > >>>>>
> > > > > >>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew
> > > > > ><bc...@smarthealth.com>
> > > > > >>>>> wrote:
> > > > > >>>>>
> > > > > >>>>>> Hi,
> > > > > >>>>>>
> > > > > >>>>>> I'm pretty new to Wicket, and am trying to figure out how to
> > > > > >stream a
> > > > > >>>>> PDF
> > > > > >>>>>> into an iFrame. I've searched for a solution and come across
> > > > > >Ernesto's
> > > > > >>>>>> DocumentInlineFrame class here:
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
> > > > > >>>>>> Since IResourceListener is no longer a part of Wicket 8,
> I've
> > > > > >modified
> > > > > >>>>> the
> > > > > >>>>>> class in these ways:
> > > > > >>>>>> 1) The class implements IRequestListener
> > > > > >>>>>> 2) Return urlForListener(null) in getURL()
> > > > > >>>>>> 3) Renamed onResourceRequested() to onRequest()
> > > > > >>>>>>
> > > > > >>>>>> But I'm getting an error:
> > > > > >>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected
> > > > > >error
> > > > > >>>>> occurred
> > > > > >>>>>> java.lang.IllegalStateException: Committed
> > > > > >>>>>>
> > > > > >>>>>> The code and full stack trace are below. Any ideas on what
> I'm
> > > > > >doing
> > > > > >>>>> wrong?
> > > > > >>>>>> Thanks,
> > > > > >>>>>> Ben
> > > > > >>>>>>
> > > > > >>>>>> /*** CODE ***/
> > > > > >>>>>> public class DocumentInlineFrame extends WebMarkupContainer
> > > > > >implements
> > > > > >>>>>> *IRequestListener* {
> > > > > >>>>>> private static final long serialVersionUID = 1 L;
> > > > > >>>>>>
> > > > > >>>>>> private IResource documentResource;
> > > > > >>>>>>
> > > > > >>>>>> /**
> > > > > >>>>>> * Constructor receiving an IResourceStream..
> > > > > >>>>>> *
> > > > > >>>>>> * @param id
> > > > > >>>>>> * @param stream
> > > > > >>>>>> */
> > > > > >>>>>> public DocumentInlineFrame(String id, IResourceStream
> > > stream)
> > > > > >{
> > > > > >>>>>> this(id, new ResourceStreamResource(stream));
> > > > > >>>>>> }
> > > > > >>>>>>
> > > > > >>>>>> /**
> > > > > >>>>>> * Constructor receiving an IResource..
> > > > > >>>>>> *
> > > > > >>>>>> * @param id
> > > > > >>>>>> * @param resourceListener
> > > > > >>>>>> */
> > > > > >>>>>> public DocumentInlineFrame(final String id, IResource
> > > > > >>>>> documentResource)
> > > > > >>>>>> {
> > > > > >>>>>> super(id);
> > > > > >>>>>> this.documentResource = documentResource;
> > > > > >>>>>> }
> > > > > >>>>>>
> > > > > >>>>>> /**
> > > > > >>>>>> * Gets the url to use for this link.
> > > > > >>>>>> *
> > > > > >>>>>> * @return The URL that this link links to
> > > > > >>>>>> */
> > > > > >>>>>> protected CharSequence getURL() {
> > > > > >>>>>> //return urlForListener(new PageParameters());
> > > > > >>>>>> *return urlForListener(null);*
> > > > > >>>>>> }
> > > > > >>>>>>
> > > > > >>>>>> /**
> > > > > >>>>>> * Handles this frame's tag.
> > > > > >>>>>> *
> > > > > >>>>>> * @param tag the component tag
> > > > > >>>>>> * @see
> > > > > >org.apache.wicket.Component#onComponentTag(ComponentTag)
> > > > > >>>>>> */
> > > > > >>>>>> @Override
> > > > > >>>>>> protected void onComponentTag(final ComponentTag tag) {
> > > > > >>>>>> checkComponentTag(tag, "iframe");
> > > > > >>>>>>
> > > > > >>>>>> // Set href to link to this frame's frameRequested
> > > method
> > > > > >>>>>> CharSequence url = getURL();
> > > > > >>>>>>
> > > > > >>>>>> // generate the src attribute
> > > > > >>>>>> tag.put("src", Strings.replaceAll(url, "&",
> "&"));
> > > > > >>>>>>
> > > > > >>>>>> super.onComponentTag(tag);
> > > > > >>>>>> }
> > > > > >>>>>>
> > > > > >>>>>> @Override
> > > > > >>>>>> protected boolean getStatelessHint() {
> > > > > >>>>>> return false;
> > > > > >>>>>> }
> > > > > >>>>>>
> > > > > >>>>>> @Override
> > > > > >>>>>> public void onRequest() {
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>> *RequestCycle requestCycle = RequestCycle.get();
> > > > > >Attributes
> > > > > >>>>>> attributes = new Attributes(requestCycle.getRequest(),
> > > > > >>>>>> requestCycle.getResponse(), null);
> > > > > >>>>>> this.documentResource.respond(attributes);*
> > > > > >>>>>> }
> > > > > >>>>>> }
> > > > > >>>>>> /*** END CODE ***/
> > > > > >>>>>>
> > > > > >>>>>> /*** STACK TRACE ***/
> > > > > >>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
> > > > > >>>>> ********************************
> > > > > >>>>>> Aug 22 12:37:54 ERROR
> org.apache.wicket.DefaultExceptionMapper
> > > -
> > > > > >>>>>> Unexpected error occurred
> > > > > >>>>>> java.lang.IllegalStateException: Committed
> > > > > >>>>>> at
> > > > > >>>>>
> > > > >
> > >org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> > > > > >>>>>> at
> > > > >
> >org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > > > >>>>>> at
> > > > > >>>>>> org.eclipse.jetty.io
> > > > > >>>>>>
> > > > >
> > >
> >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.io
> > .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > > > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > > > > >>>>>> Aug 22 12:37:54 ERROR
> > > > > >org.apache.wicket.request.cycle.RequestCycle -
> > > > > >>>>>> Exception retry count exceeded
> > > > > >>>>>> java.lang.IllegalStateException: STREAM
> > > > > >>>>>> at
> > > org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > > > >>>>>> at
> > > > > >>>>>> org.eclipse.jetty.io
> > > > > >>>>>>
> > > > >
> > >
> >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > > > > >>>>>> at
> > > > > >org.eclipse.jetty.io
> > .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > > > >>>>>> at
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > >
> > > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > > > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > > > > >>>>>> /*** END STACK TRACE ***/
> > > > > >>>>>>
> > > > > >>>>>
> > > > > >>>>> --
> > > > > >>>>> Regards - Ernesto Reinaldo Barreiro
> > > > > >>>>>
> > > > > >>
> > > > > >>
> > > ---------------------------------------------------------------------
> > > > > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > > >> For additional commands, e-mail: users-help@wicket.apache.org
> > > > > >>
> > > > > >
> > > > >
> > >---------------------------------------------------------------------
> > > > > >To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > > >For additional commands, e-mail: users-help@wicket.apache.org
> > > > >
> > > >
> > >
> >
>
Re: Streaming a PDF into an iFrame
Posted by Martin Grigorov <mg...@apache.org>.
Hi,
Check the response headers of PDF.
If chunked transfer encoding is used then maybe you can fix it by providing
explicitly the Content-Lenght in your Wicket code.
On Thu, Aug 29, 2019 at 12:05 AM Benjamin Chew <bc...@smarthealth.com>
wrote:
> Yes, they are the full PDFs that I'm expecting.
>
> Ben
>
>
> On Wed, Aug 28, 2019 at 12:34 PM Lon Varscsak <lo...@gmail.com>
> wrote:
>
> > If it's closing the connection on the PDF pre-maturely, are you getting
> the
> > FULL PDF downloaded?
> >
> > -Lon
> >
> > On Wed, Aug 28, 2019 at 10:14 AM Benjamin Chew <bc...@smarthealth.com>
> > wrote:
> >
> > > Hi Sven,
> > >
> > > Hmm... so this seems to be a problem only on specific browsers.
> > >
> > > I'm seeing this on:
> > > - Google Chrome Version 76.0.3809.100 (OS X Mojave & Win 7)
> > > - Safari Version 12.1.2 (OS X Mojave)
> > > - IE 11 Version 11.0.135 (Win 7)
> > >
> > > And not seeing this on:
> > > - Firefox Quantum 68.0.2 (OS X Mojave)
> > > - Firefox Quantum 68.0.1 (Win 7)
> > >
> > > Knowing this, I'm going to move on from this issue (for now), but
> thanks
> > > for all your help!
> > >
> > > Ben
> > >
> > >
> > > On Wed, Aug 28, 2019 at 9:32 AM Sven Meier <sv...@meiers.net> wrote:
> > >
> > > > Hi Ben,
> > > >
> > > > which browser?
> > > >
> > > > We had long time problems with IE stopping requests an re-requesting
> > > > resources without reason.
> > > >
> > > > Sven
> > > >
> > > > Am 28. August 2019 16:18:23 MESZ schrieb Benjamin Chew <
> > > > bchew@smarthealth.com>:
> > > > >Thanks, Sven.
> > > > >
> > > > >The weird thing is that this is happening during my testing, and I’m
> > > > >not navigating away from the page at all...
> > > > >
> > > > >Ben
> > > > >
> > > > >> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net> wrote:
> > > > >>
> > > > >> Hi Benjamin,
> > > > >>
> > > > >> this just means that the browser closed the connection before the
> > pdf
> > > > >was fully loaded from the server, e.g. if the user switches to a
> > > > >different page before the iframe has finished loading.
> > > > >>
> > > > >> Nothing you need/can do about it.
> > > > >>
> > > > >> Have fun
> > > > >> Sven
> > > > >>
> > > > >>
> > > > >>> On 27.08.19 02:13, Benjamin Chew wrote:
> > > > >>> I said thanks too soon. ;)
> > > > >>>
> > > > >>> Now I'm seeing this warning intermittently:
> > > > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > > > >>> org.eclipse.jetty.io.EofException
> > > > >>> Caused by: org.eclipse.jetty.io.EofException
> > > > >>> Caused by: java.io.IOException: Broken pipe
> > > > >>>
> > > > >>> Is there anything in the DocumentInlineFrame class or the way I'm
> > > > >using it
> > > > >>> that would cause this problem?
> > > > >>>
> > > > >>> Thanks,
> > > > >>> Ben
> > > > >>>
> > > > >>> /*** Calling Class ***/
> > > > >>> queue(new DocumentInlineFrame("ticketsIFrame", new
> > > > >ResourceStreamResource()
> > > > >>> {
> > > > >>> @Override
> > > > >>> protected IResourceStream getResourceStream(Attributes
> > > > >attributes) {
> > > > >>> return
> > > > >>> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
> > > > >>> }
> > > > >>>
> > > >
> > > >
> > >
> >
> >}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>> /*** DocumentInlineFrame Class ***/
> > > > >>> public class DocumentInlineFrame extends WebMarkupContainer
> > > > >implements
> > > > >>> IRequestListener {
> > > > >>> private static final long serialVersionUID = 1 L;
> > > > >>> private IResource documentResource;
> > > > >>>
> > > > >>> /**
> > > > >>> * Constructor receiving an IResourceStream..
> > > > >>> *
> > > > >>> * @param id
> > > > >>> * @param stream
> > > > >>> */
> > > > >>> public DocumentInlineFrame(String id, IResourceStream
> stream) {
> > > > >>> this(id, new ResourceStreamResource(stream));
> > > > >>> }
> > > > >>>
> > > > >>> /**
> > > > >>> * Constructor receiving an IResource..
> > > > >>> *
> > > > >>> * @param id
> > > > >>> * @param resourceListener
> > > > >>> */
> > > > >>> public DocumentInlineFrame(final String id, IResource
> > > > >documentResource)
> > > > >>> {
> > > > >>> super(id);
> > > > >>> this.documentResource = documentResource;
> > > > >>> }
> > > > >>>
> > > > >>> /**
> > > > >>> * Gets the url to use for this link.
> > > > >>> *
> > > > >>> * @return The URL that this link links to
> > > > >>> */
> > > > >>> protected CharSequence getURL() {
> > > > >>> return urlForListener(null);
> > > > >>> }
> > > > >>>
> > > > >>> /**
> > > > >>> * Handles this frame's tag.
> > > > >>> *
> > > > >>> * @param tag the component tag
> > > > >>> * @see
> > org.apache.wicket.Component#onComponentTag(ComponentTag)
> > > > >>> */
> > > > >>> @Override
> > > > >>> protected void onComponentTag(final ComponentTag tag) {
> > > > >>> checkComponentTag(tag, "iframe");
> > > > >>>
> > > > >>> // Set href to link to this frame's frameRequested method
> > > > >>> CharSequence url = getURL();
> > > > >>>
> > > > >>> // Generate the src attribute
> > > > >>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > > > >>>
> > > > >>> super.onComponentTag(tag);
> > > > >>> }
> > > > >>>
> > > > >>> @Override
> > > > >>> protected boolean getStatelessHint() {
> > > > >>> return false;
> > > > >>> }
> > > > >>>
> > > > >>> @Override
> > > > >>> public boolean rendersPage() {
> > > > >>> return false;
> > > > >>> }
> > > > >>>
> > > > >>> @Override
> > > > >>> public void onRequest() {
> > > > >>> RequestCycle requestCycle = RequestCycle.get();
> > > > >>> Attributes attributes = new
> > > > >Attributes(requestCycle.getRequest(),
> > > > >>> requestCycle.getResponse(), null);
> > > > >>>
> > > > >>> this.documentResource.respond(attributes);
> > > > >>> }
> > > > >>> }
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>> /*** Full Stacktrace ***/
> > > > >>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following
> > > > >exception
> > > > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > > > >>> org.eclipse.jetty.io.EofException
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
> > > > >>> at
> > > >
> > >
> >
> >org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > > >>> at
> > > > >>>
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > > >>> at
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > >>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > > >>> at
> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > > >>> at
> > > > >>>
> > > > >org.eclipse.jetty.io
> > > >
> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > > >>> at org.eclipse.jetty.io
> > .FillInterest.fillable(FillInterest.java:103)
> > > > >>> at
> > > > >org.eclipse.jetty.io
> .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > > >>> at java.lang.Thread.run(Thread.java:745)
> > > > >>> Caused by: org.eclipse.jetty.io.EofException
> > > > >>> at
> > > > >org.eclipse.jetty.io
> .ChannelEndPoint.flush(ChannelEndPoint.java:286)
> > > > >>> at org.eclipse.jetty.io
> .WriteFlusher.flush(WriteFlusher.java:393)
> > > > >>> at org.eclipse.jetty.io
> .WriteFlusher.write(WriteFlusher.java:277)
> > > > >>> at
> > > > >org.eclipse.jetty.io
> > .AbstractEndPoint.write(AbstractEndPoint.java:380)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > > > >>> at
> > > >
> >org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
> > > > >>> at
> > > >
> > >org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
> > > > >>> at
> org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
> > > > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
> > > > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
> > > > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
> > > > >>> at java.io.OutputStream.write(OutputStream.java:75)
> > > > >>> at
> > > > >>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
> > > > >>> ... 48 more
> > > > >>> Caused by: java.io.IOException: Broken pipe
> > > > >>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
> > > > >>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
> > > > >>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
> > > > >>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
> > > > >>> at
> > > > >org.eclipse.jetty.io
> .ChannelEndPoint.flush(ChannelEndPoint.java:266)
> > > > >>> ... 67 more
> > > > >>>
> > > > >>>
> > > > >>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew
> > > > ><bc...@smarthealth.com> wrote:
> > > > >>>>
> > > > >>>> Thanks, Sven.
> > > > >>>>
> > > > >>>> And thanks Ernesto for writing that example in the first place!
> > > > >>>>
> > > > >>>> Ben
> > > > >>>>
> > > > >>>>
> > > > >>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
> > > > >>>> reiern70@gmail.com> wrote:
> > > > >>>>
> > > > >>>>> Hi,
> > > > >>>>>
> > > > >>>>> Thanks for reporting this. I will fix the example and adapt it
> to
> > > > >wicket
> > > > >>>>> 8.x.
> > > > >>>>>
> > > > >>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew
> > > > ><bc...@smarthealth.com>
> > > > >>>>> wrote:
> > > > >>>>>
> > > > >>>>>> Hi,
> > > > >>>>>>
> > > > >>>>>> I'm pretty new to Wicket, and am trying to figure out how to
> > > > >stream a
> > > > >>>>> PDF
> > > > >>>>>> into an iFrame. I've searched for a solution and come across
> > > > >Ernesto's
> > > > >>>>>> DocumentInlineFrame class here:
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >
> > > >
> > >
> >
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
> > > > >>>>>> Since IResourceListener is no longer a part of Wicket 8, I've
> > > > >modified
> > > > >>>>> the
> > > > >>>>>> class in these ways:
> > > > >>>>>> 1) The class implements IRequestListener
> > > > >>>>>> 2) Return urlForListener(null) in getURL()
> > > > >>>>>> 3) Renamed onResourceRequested() to onRequest()
> > > > >>>>>>
> > > > >>>>>> But I'm getting an error:
> > > > >>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected
> > > > >error
> > > > >>>>> occurred
> > > > >>>>>> java.lang.IllegalStateException: Committed
> > > > >>>>>>
> > > > >>>>>> The code and full stack trace are below. Any ideas on what I'm
> > > > >doing
> > > > >>>>> wrong?
> > > > >>>>>> Thanks,
> > > > >>>>>> Ben
> > > > >>>>>>
> > > > >>>>>> /*** CODE ***/
> > > > >>>>>> public class DocumentInlineFrame extends WebMarkupContainer
> > > > >implements
> > > > >>>>>> *IRequestListener* {
> > > > >>>>>> private static final long serialVersionUID = 1 L;
> > > > >>>>>>
> > > > >>>>>> private IResource documentResource;
> > > > >>>>>>
> > > > >>>>>> /**
> > > > >>>>>> * Constructor receiving an IResourceStream..
> > > > >>>>>> *
> > > > >>>>>> * @param id
> > > > >>>>>> * @param stream
> > > > >>>>>> */
> > > > >>>>>> public DocumentInlineFrame(String id, IResourceStream
> > stream)
> > > > >{
> > > > >>>>>> this(id, new ResourceStreamResource(stream));
> > > > >>>>>> }
> > > > >>>>>>
> > > > >>>>>> /**
> > > > >>>>>> * Constructor receiving an IResource..
> > > > >>>>>> *
> > > > >>>>>> * @param id
> > > > >>>>>> * @param resourceListener
> > > > >>>>>> */
> > > > >>>>>> public DocumentInlineFrame(final String id, IResource
> > > > >>>>> documentResource)
> > > > >>>>>> {
> > > > >>>>>> super(id);
> > > > >>>>>> this.documentResource = documentResource;
> > > > >>>>>> }
> > > > >>>>>>
> > > > >>>>>> /**
> > > > >>>>>> * Gets the url to use for this link.
> > > > >>>>>> *
> > > > >>>>>> * @return The URL that this link links to
> > > > >>>>>> */
> > > > >>>>>> protected CharSequence getURL() {
> > > > >>>>>> //return urlForListener(new PageParameters());
> > > > >>>>>> *return urlForListener(null);*
> > > > >>>>>> }
> > > > >>>>>>
> > > > >>>>>> /**
> > > > >>>>>> * Handles this frame's tag.
> > > > >>>>>> *
> > > > >>>>>> * @param tag the component tag
> > > > >>>>>> * @see
> > > > >org.apache.wicket.Component#onComponentTag(ComponentTag)
> > > > >>>>>> */
> > > > >>>>>> @Override
> > > > >>>>>> protected void onComponentTag(final ComponentTag tag) {
> > > > >>>>>> checkComponentTag(tag, "iframe");
> > > > >>>>>>
> > > > >>>>>> // Set href to link to this frame's frameRequested
> > method
> > > > >>>>>> CharSequence url = getURL();
> > > > >>>>>>
> > > > >>>>>> // generate the src attribute
> > > > >>>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > > > >>>>>>
> > > > >>>>>> super.onComponentTag(tag);
> > > > >>>>>> }
> > > > >>>>>>
> > > > >>>>>> @Override
> > > > >>>>>> protected boolean getStatelessHint() {
> > > > >>>>>> return false;
> > > > >>>>>> }
> > > > >>>>>>
> > > > >>>>>> @Override
> > > > >>>>>> public void onRequest() {
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>> *RequestCycle requestCycle = RequestCycle.get();
> > > > >Attributes
> > > > >>>>>> attributes = new Attributes(requestCycle.getRequest(),
> > > > >>>>>> requestCycle.getResponse(), null);
> > > > >>>>>> this.documentResource.respond(attributes);*
> > > > >>>>>> }
> > > > >>>>>> }
> > > > >>>>>> /*** END CODE ***/
> > > > >>>>>>
> > > > >>>>>> /*** STACK TRACE ***/
> > > > >>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
> > > > >>>>> ********************************
> > > > >>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper
> > -
> > > > >>>>>> Unexpected error occurred
> > > > >>>>>> java.lang.IllegalStateException: Committed
> > > > >>>>>> at
> > > > >>>>>
> > > >
> >org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > > >>>>>> at
> > > > >>>>>> org.eclipse.jetty.io
> > > > >>>>>>
> > > >
> > >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.io
> .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > > > >>>>>> Aug 22 12:37:54 ERROR
> > > > >org.apache.wicket.request.cycle.RequestCycle -
> > > > >>>>>> Exception retry count exceeded
> > > > >>>>>> java.lang.IllegalStateException: STREAM
> > > > >>>>>> at
> > org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > > >>>>>> at
> > > > >>>>>> org.eclipse.jetty.io
> > > > >>>>>>
> > > >
> > >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > > > >>>>>> at
> > > > >org.eclipse.jetty.io
> .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > > >>>>>> at
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > >
> > > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > > > >>>>>> /*** END STACK TRACE ***/
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>> --
> > > > >>>>> Regards - Ernesto Reinaldo Barreiro
> > > > >>>>>
> > > > >>
> > > > >>
> > ---------------------------------------------------------------------
> > > > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > >> For additional commands, e-mail: users-help@wicket.apache.org
> > > > >>
> > > > >
> > > >
> >---------------------------------------------------------------------
> > > > >To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > > >For additional commands, e-mail: users-help@wicket.apache.org
> > > >
> > >
> >
>
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
Yes, they are the full PDFs that I'm expecting.
Ben
On Wed, Aug 28, 2019 at 12:34 PM Lon Varscsak <lo...@gmail.com>
wrote:
> If it's closing the connection on the PDF pre-maturely, are you getting the
> FULL PDF downloaded?
>
> -Lon
>
> On Wed, Aug 28, 2019 at 10:14 AM Benjamin Chew <bc...@smarthealth.com>
> wrote:
>
> > Hi Sven,
> >
> > Hmm... so this seems to be a problem only on specific browsers.
> >
> > I'm seeing this on:
> > - Google Chrome Version 76.0.3809.100 (OS X Mojave & Win 7)
> > - Safari Version 12.1.2 (OS X Mojave)
> > - IE 11 Version 11.0.135 (Win 7)
> >
> > And not seeing this on:
> > - Firefox Quantum 68.0.2 (OS X Mojave)
> > - Firefox Quantum 68.0.1 (Win 7)
> >
> > Knowing this, I'm going to move on from this issue (for now), but thanks
> > for all your help!
> >
> > Ben
> >
> >
> > On Wed, Aug 28, 2019 at 9:32 AM Sven Meier <sv...@meiers.net> wrote:
> >
> > > Hi Ben,
> > >
> > > which browser?
> > >
> > > We had long time problems with IE stopping requests an re-requesting
> > > resources without reason.
> > >
> > > Sven
> > >
> > > Am 28. August 2019 16:18:23 MESZ schrieb Benjamin Chew <
> > > bchew@smarthealth.com>:
> > > >Thanks, Sven.
> > > >
> > > >The weird thing is that this is happening during my testing, and I’m
> > > >not navigating away from the page at all...
> > > >
> > > >Ben
> > > >
> > > >> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net> wrote:
> > > >>
> > > >> Hi Benjamin,
> > > >>
> > > >> this just means that the browser closed the connection before the
> pdf
> > > >was fully loaded from the server, e.g. if the user switches to a
> > > >different page before the iframe has finished loading.
> > > >>
> > > >> Nothing you need/can do about it.
> > > >>
> > > >> Have fun
> > > >> Sven
> > > >>
> > > >>
> > > >>> On 27.08.19 02:13, Benjamin Chew wrote:
> > > >>> I said thanks too soon. ;)
> > > >>>
> > > >>> Now I'm seeing this warning intermittently:
> > > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > > >>> org.eclipse.jetty.io.EofException
> > > >>> Caused by: org.eclipse.jetty.io.EofException
> > > >>> Caused by: java.io.IOException: Broken pipe
> > > >>>
> > > >>> Is there anything in the DocumentInlineFrame class or the way I'm
> > > >using it
> > > >>> that would cause this problem?
> > > >>>
> > > >>> Thanks,
> > > >>> Ben
> > > >>>
> > > >>> /*** Calling Class ***/
> > > >>> queue(new DocumentInlineFrame("ticketsIFrame", new
> > > >ResourceStreamResource()
> > > >>> {
> > > >>> @Override
> > > >>> protected IResourceStream getResourceStream(Attributes
> > > >attributes) {
> > > >>> return
> > > >>> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
> > > >>> }
> > > >>>
> > >
> > >
> >
> >}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
> > > >>>
> > > >>>
> > > >>>
> > > >>> /*** DocumentInlineFrame Class ***/
> > > >>> public class DocumentInlineFrame extends WebMarkupContainer
> > > >implements
> > > >>> IRequestListener {
> > > >>> private static final long serialVersionUID = 1 L;
> > > >>> private IResource documentResource;
> > > >>>
> > > >>> /**
> > > >>> * Constructor receiving an IResourceStream..
> > > >>> *
> > > >>> * @param id
> > > >>> * @param stream
> > > >>> */
> > > >>> public DocumentInlineFrame(String id, IResourceStream stream) {
> > > >>> this(id, new ResourceStreamResource(stream));
> > > >>> }
> > > >>>
> > > >>> /**
> > > >>> * Constructor receiving an IResource..
> > > >>> *
> > > >>> * @param id
> > > >>> * @param resourceListener
> > > >>> */
> > > >>> public DocumentInlineFrame(final String id, IResource
> > > >documentResource)
> > > >>> {
> > > >>> super(id);
> > > >>> this.documentResource = documentResource;
> > > >>> }
> > > >>>
> > > >>> /**
> > > >>> * Gets the url to use for this link.
> > > >>> *
> > > >>> * @return The URL that this link links to
> > > >>> */
> > > >>> protected CharSequence getURL() {
> > > >>> return urlForListener(null);
> > > >>> }
> > > >>>
> > > >>> /**
> > > >>> * Handles this frame's tag.
> > > >>> *
> > > >>> * @param tag the component tag
> > > >>> * @see
> org.apache.wicket.Component#onComponentTag(ComponentTag)
> > > >>> */
> > > >>> @Override
> > > >>> protected void onComponentTag(final ComponentTag tag) {
> > > >>> checkComponentTag(tag, "iframe");
> > > >>>
> > > >>> // Set href to link to this frame's frameRequested method
> > > >>> CharSequence url = getURL();
> > > >>>
> > > >>> // Generate the src attribute
> > > >>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > > >>>
> > > >>> super.onComponentTag(tag);
> > > >>> }
> > > >>>
> > > >>> @Override
> > > >>> protected boolean getStatelessHint() {
> > > >>> return false;
> > > >>> }
> > > >>>
> > > >>> @Override
> > > >>> public boolean rendersPage() {
> > > >>> return false;
> > > >>> }
> > > >>>
> > > >>> @Override
> > > >>> public void onRequest() {
> > > >>> RequestCycle requestCycle = RequestCycle.get();
> > > >>> Attributes attributes = new
> > > >Attributes(requestCycle.getRequest(),
> > > >>> requestCycle.getResponse(), null);
> > > >>>
> > > >>> this.documentResource.respond(attributes);
> > > >>> }
> > > >>> }
> > > >>>
> > > >>>
> > > >>>
> > > >>> /*** Full Stacktrace ***/
> > > >>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following
> > > >exception
> > > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > > >>> org.eclipse.jetty.io.EofException
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
> > > >>> at
> > >
> >
> >org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > >>> at
> > > >>>
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > >>> at
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > >>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > >>> at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > >>> at
> > > >>>
> > > >org.eclipse.jetty.io
> > > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > >>> at org.eclipse.jetty.io
> .FillInterest.fillable(FillInterest.java:103)
> > > >>> at
> > > >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > >>> at java.lang.Thread.run(Thread.java:745)
> > > >>> Caused by: org.eclipse.jetty.io.EofException
> > > >>> at
> > > >org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
> > > >>> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
> > > >>> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
> > > >>> at
> > > >org.eclipse.jetty.io
> .AbstractEndPoint.write(AbstractEndPoint.java:380)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > > >>> at
> > > >org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
> > > >>> at
> > >
> >org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
> > > >>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
> > > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
> > > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
> > > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
> > > >>> at java.io.OutputStream.write(OutputStream.java:75)
> > > >>> at
> > > >>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
> > > >>> ... 48 more
> > > >>> Caused by: java.io.IOException: Broken pipe
> > > >>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
> > > >>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
> > > >>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
> > > >>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
> > > >>> at
> > > >org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
> > > >>> ... 67 more
> > > >>>
> > > >>>
> > > >>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew
> > > ><bc...@smarthealth.com> wrote:
> > > >>>>
> > > >>>> Thanks, Sven.
> > > >>>>
> > > >>>> And thanks Ernesto for writing that example in the first place!
> > > >>>>
> > > >>>> Ben
> > > >>>>
> > > >>>>
> > > >>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
> > > >>>> reiern70@gmail.com> wrote:
> > > >>>>
> > > >>>>> Hi,
> > > >>>>>
> > > >>>>> Thanks for reporting this. I will fix the example and adapt it to
> > > >wicket
> > > >>>>> 8.x.
> > > >>>>>
> > > >>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew
> > > ><bc...@smarthealth.com>
> > > >>>>> wrote:
> > > >>>>>
> > > >>>>>> Hi,
> > > >>>>>>
> > > >>>>>> I'm pretty new to Wicket, and am trying to figure out how to
> > > >stream a
> > > >>>>> PDF
> > > >>>>>> into an iFrame. I've searched for a solution and come across
> > > >Ernesto's
> > > >>>>>> DocumentInlineFrame class here:
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > > >
> > >
> >
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
> > > >>>>>> Since IResourceListener is no longer a part of Wicket 8, I've
> > > >modified
> > > >>>>> the
> > > >>>>>> class in these ways:
> > > >>>>>> 1) The class implements IRequestListener
> > > >>>>>> 2) Return urlForListener(null) in getURL()
> > > >>>>>> 3) Renamed onResourceRequested() to onRequest()
> > > >>>>>>
> > > >>>>>> But I'm getting an error:
> > > >>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected
> > > >error
> > > >>>>> occurred
> > > >>>>>> java.lang.IllegalStateException: Committed
> > > >>>>>>
> > > >>>>>> The code and full stack trace are below. Any ideas on what I'm
> > > >doing
> > > >>>>> wrong?
> > > >>>>>> Thanks,
> > > >>>>>> Ben
> > > >>>>>>
> > > >>>>>> /*** CODE ***/
> > > >>>>>> public class DocumentInlineFrame extends WebMarkupContainer
> > > >implements
> > > >>>>>> *IRequestListener* {
> > > >>>>>> private static final long serialVersionUID = 1 L;
> > > >>>>>>
> > > >>>>>> private IResource documentResource;
> > > >>>>>>
> > > >>>>>> /**
> > > >>>>>> * Constructor receiving an IResourceStream..
> > > >>>>>> *
> > > >>>>>> * @param id
> > > >>>>>> * @param stream
> > > >>>>>> */
> > > >>>>>> public DocumentInlineFrame(String id, IResourceStream
> stream)
> > > >{
> > > >>>>>> this(id, new ResourceStreamResource(stream));
> > > >>>>>> }
> > > >>>>>>
> > > >>>>>> /**
> > > >>>>>> * Constructor receiving an IResource..
> > > >>>>>> *
> > > >>>>>> * @param id
> > > >>>>>> * @param resourceListener
> > > >>>>>> */
> > > >>>>>> public DocumentInlineFrame(final String id, IResource
> > > >>>>> documentResource)
> > > >>>>>> {
> > > >>>>>> super(id);
> > > >>>>>> this.documentResource = documentResource;
> > > >>>>>> }
> > > >>>>>>
> > > >>>>>> /**
> > > >>>>>> * Gets the url to use for this link.
> > > >>>>>> *
> > > >>>>>> * @return The URL that this link links to
> > > >>>>>> */
> > > >>>>>> protected CharSequence getURL() {
> > > >>>>>> //return urlForListener(new PageParameters());
> > > >>>>>> *return urlForListener(null);*
> > > >>>>>> }
> > > >>>>>>
> > > >>>>>> /**
> > > >>>>>> * Handles this frame's tag.
> > > >>>>>> *
> > > >>>>>> * @param tag the component tag
> > > >>>>>> * @see
> > > >org.apache.wicket.Component#onComponentTag(ComponentTag)
> > > >>>>>> */
> > > >>>>>> @Override
> > > >>>>>> protected void onComponentTag(final ComponentTag tag) {
> > > >>>>>> checkComponentTag(tag, "iframe");
> > > >>>>>>
> > > >>>>>> // Set href to link to this frame's frameRequested
> method
> > > >>>>>> CharSequence url = getURL();
> > > >>>>>>
> > > >>>>>> // generate the src attribute
> > > >>>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > > >>>>>>
> > > >>>>>> super.onComponentTag(tag);
> > > >>>>>> }
> > > >>>>>>
> > > >>>>>> @Override
> > > >>>>>> protected boolean getStatelessHint() {
> > > >>>>>> return false;
> > > >>>>>> }
> > > >>>>>>
> > > >>>>>> @Override
> > > >>>>>> public void onRequest() {
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> *RequestCycle requestCycle = RequestCycle.get();
> > > >Attributes
> > > >>>>>> attributes = new Attributes(requestCycle.getRequest(),
> > > >>>>>> requestCycle.getResponse(), null);
> > > >>>>>> this.documentResource.respond(attributes);*
> > > >>>>>> }
> > > >>>>>> }
> > > >>>>>> /*** END CODE ***/
> > > >>>>>>
> > > >>>>>> /*** STACK TRACE ***/
> > > >>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
> > > >>>>> ********************************
> > > >>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper
> -
> > > >>>>>> Unexpected error occurred
> > > >>>>>> java.lang.IllegalStateException: Committed
> > > >>>>>> at
> > > >>>>>
> > > >org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> > > >>>>>> at
> > > >org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> > > >>>>>> at
> > > >org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> > > >>>>>> at
> > > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> > > >>>>>> at
> > > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > >>>>>> at
> > > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > >>>>>> at
> > > >>>>>> org.eclipse.jetty.io
> > > >>>>>>
> > >
> >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > >>>>>> at
> > > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > > >>>>>> at
> > > >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > > >>>>>> Aug 22 12:37:54 ERROR
> > > >org.apache.wicket.request.cycle.RequestCycle -
> > > >>>>>> Exception retry count exceeded
> > > >>>>>> java.lang.IllegalStateException: STREAM
> > > >>>>>> at
> org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > > >>>>>> at
> > > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > >>>>>> at
> > > >>>>>> org.eclipse.jetty.io
> > > >>>>>>
> > >
> >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > >>>>>> at
> > > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > > >>>>>> at
> > > >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > >>>>>> at
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > >
> > >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > > >>>>>> /*** END STACK TRACE ***/
> > > >>>>>>
> > > >>>>>
> > > >>>>> --
> > > >>>>> Regards - Ernesto Reinaldo Barreiro
> > > >>>>>
> > > >>
> > > >>
> ---------------------------------------------------------------------
> > > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > >> For additional commands, e-mail: users-help@wicket.apache.org
> > > >>
> > > >
> > > >---------------------------------------------------------------------
> > > >To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > >For additional commands, e-mail: users-help@wicket.apache.org
> > >
> >
>
Re: Streaming a PDF into an iFrame
Posted by Lon Varscsak <lo...@gmail.com>.
If it's closing the connection on the PDF pre-maturely, are you getting the
FULL PDF downloaded?
-Lon
On Wed, Aug 28, 2019 at 10:14 AM Benjamin Chew <bc...@smarthealth.com>
wrote:
> Hi Sven,
>
> Hmm... so this seems to be a problem only on specific browsers.
>
> I'm seeing this on:
> - Google Chrome Version 76.0.3809.100 (OS X Mojave & Win 7)
> - Safari Version 12.1.2 (OS X Mojave)
> - IE 11 Version 11.0.135 (Win 7)
>
> And not seeing this on:
> - Firefox Quantum 68.0.2 (OS X Mojave)
> - Firefox Quantum 68.0.1 (Win 7)
>
> Knowing this, I'm going to move on from this issue (for now), but thanks
> for all your help!
>
> Ben
>
>
> On Wed, Aug 28, 2019 at 9:32 AM Sven Meier <sv...@meiers.net> wrote:
>
> > Hi Ben,
> >
> > which browser?
> >
> > We had long time problems with IE stopping requests an re-requesting
> > resources without reason.
> >
> > Sven
> >
> > Am 28. August 2019 16:18:23 MESZ schrieb Benjamin Chew <
> > bchew@smarthealth.com>:
> > >Thanks, Sven.
> > >
> > >The weird thing is that this is happening during my testing, and I’m
> > >not navigating away from the page at all...
> > >
> > >Ben
> > >
> > >> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net> wrote:
> > >>
> > >> Hi Benjamin,
> > >>
> > >> this just means that the browser closed the connection before the pdf
> > >was fully loaded from the server, e.g. if the user switches to a
> > >different page before the iframe has finished loading.
> > >>
> > >> Nothing you need/can do about it.
> > >>
> > >> Have fun
> > >> Sven
> > >>
> > >>
> > >>> On 27.08.19 02:13, Benjamin Chew wrote:
> > >>> I said thanks too soon. ;)
> > >>>
> > >>> Now I'm seeing this warning intermittently:
> > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > >>> org.eclipse.jetty.io.EofException
> > >>> Caused by: org.eclipse.jetty.io.EofException
> > >>> Caused by: java.io.IOException: Broken pipe
> > >>>
> > >>> Is there anything in the DocumentInlineFrame class or the way I'm
> > >using it
> > >>> that would cause this problem?
> > >>>
> > >>> Thanks,
> > >>> Ben
> > >>>
> > >>> /*** Calling Class ***/
> > >>> queue(new DocumentInlineFrame("ticketsIFrame", new
> > >ResourceStreamResource()
> > >>> {
> > >>> @Override
> > >>> protected IResourceStream getResourceStream(Attributes
> > >attributes) {
> > >>> return
> > >>> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
> > >>> }
> > >>>
> >
> >
> >}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
> > >>>
> > >>>
> > >>>
> > >>> /*** DocumentInlineFrame Class ***/
> > >>> public class DocumentInlineFrame extends WebMarkupContainer
> > >implements
> > >>> IRequestListener {
> > >>> private static final long serialVersionUID = 1 L;
> > >>> private IResource documentResource;
> > >>>
> > >>> /**
> > >>> * Constructor receiving an IResourceStream..
> > >>> *
> > >>> * @param id
> > >>> * @param stream
> > >>> */
> > >>> public DocumentInlineFrame(String id, IResourceStream stream) {
> > >>> this(id, new ResourceStreamResource(stream));
> > >>> }
> > >>>
> > >>> /**
> > >>> * Constructor receiving an IResource..
> > >>> *
> > >>> * @param id
> > >>> * @param resourceListener
> > >>> */
> > >>> public DocumentInlineFrame(final String id, IResource
> > >documentResource)
> > >>> {
> > >>> super(id);
> > >>> this.documentResource = documentResource;
> > >>> }
> > >>>
> > >>> /**
> > >>> * Gets the url to use for this link.
> > >>> *
> > >>> * @return The URL that this link links to
> > >>> */
> > >>> protected CharSequence getURL() {
> > >>> return urlForListener(null);
> > >>> }
> > >>>
> > >>> /**
> > >>> * Handles this frame's tag.
> > >>> *
> > >>> * @param tag the component tag
> > >>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
> > >>> */
> > >>> @Override
> > >>> protected void onComponentTag(final ComponentTag tag) {
> > >>> checkComponentTag(tag, "iframe");
> > >>>
> > >>> // Set href to link to this frame's frameRequested method
> > >>> CharSequence url = getURL();
> > >>>
> > >>> // Generate the src attribute
> > >>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > >>>
> > >>> super.onComponentTag(tag);
> > >>> }
> > >>>
> > >>> @Override
> > >>> protected boolean getStatelessHint() {
> > >>> return false;
> > >>> }
> > >>>
> > >>> @Override
> > >>> public boolean rendersPage() {
> > >>> return false;
> > >>> }
> > >>>
> > >>> @Override
> > >>> public void onRequest() {
> > >>> RequestCycle requestCycle = RequestCycle.get();
> > >>> Attributes attributes = new
> > >Attributes(requestCycle.getRequest(),
> > >>> requestCycle.getResponse(), null);
> > >>>
> > >>> this.documentResource.respond(attributes);
> > >>> }
> > >>> }
> > >>>
> > >>>
> > >>>
> > >>> /*** Full Stacktrace ***/
> > >>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following
> > >exception
> > >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> > >>> org.eclipse.jetty.io.EofException
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
> > >>> at
> >
> >org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
> > >>> at
> > >>>
> >
> >
> >com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
> > >>> at
> > >>>
> >
> >
> >com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > >>> at
> > >>>
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > >>> at
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > >>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > >>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > >>> at
> > >>>
> > >org.eclipse.jetty.io
> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > >>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > >>> at
> > >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > >>> at java.lang.Thread.run(Thread.java:745)
> > >>> Caused by: org.eclipse.jetty.io.EofException
> > >>> at
> > >org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
> > >>> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
> > >>> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
> > >>> at
> > >org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > >>> at
> > >org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
> > >>> at
> > >org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
> > >>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
> > >>> at
> > >>>
> >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
> > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
> > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
> > >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
> > >>> at java.io.OutputStream.write(OutputStream.java:75)
> > >>> at
> > >>>
> >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
> > >>> ... 48 more
> > >>> Caused by: java.io.IOException: Broken pipe
> > >>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
> > >>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
> > >>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
> > >>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
> > >>> at
> > >org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
> > >>> ... 67 more
> > >>>
> > >>>
> > >>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew
> > ><bc...@smarthealth.com> wrote:
> > >>>>
> > >>>> Thanks, Sven.
> > >>>>
> > >>>> And thanks Ernesto for writing that example in the first place!
> > >>>>
> > >>>> Ben
> > >>>>
> > >>>>
> > >>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
> > >>>> reiern70@gmail.com> wrote:
> > >>>>
> > >>>>> Hi,
> > >>>>>
> > >>>>> Thanks for reporting this. I will fix the example and adapt it to
> > >wicket
> > >>>>> 8.x.
> > >>>>>
> > >>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew
> > ><bc...@smarthealth.com>
> > >>>>> wrote:
> > >>>>>
> > >>>>>> Hi,
> > >>>>>>
> > >>>>>> I'm pretty new to Wicket, and am trying to figure out how to
> > >stream a
> > >>>>> PDF
> > >>>>>> into an iFrame. I've searched for a solution and come across
> > >Ernesto's
> > >>>>>> DocumentInlineFrame class here:
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >
> >
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
> > >>>>>> Since IResourceListener is no longer a part of Wicket 8, I've
> > >modified
> > >>>>> the
> > >>>>>> class in these ways:
> > >>>>>> 1) The class implements IRequestListener
> > >>>>>> 2) Return urlForListener(null) in getURL()
> > >>>>>> 3) Renamed onResourceRequested() to onRequest()
> > >>>>>>
> > >>>>>> But I'm getting an error:
> > >>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected
> > >error
> > >>>>> occurred
> > >>>>>> java.lang.IllegalStateException: Committed
> > >>>>>>
> > >>>>>> The code and full stack trace are below. Any ideas on what I'm
> > >doing
> > >>>>> wrong?
> > >>>>>> Thanks,
> > >>>>>> Ben
> > >>>>>>
> > >>>>>> /*** CODE ***/
> > >>>>>> public class DocumentInlineFrame extends WebMarkupContainer
> > >implements
> > >>>>>> *IRequestListener* {
> > >>>>>> private static final long serialVersionUID = 1 L;
> > >>>>>>
> > >>>>>> private IResource documentResource;
> > >>>>>>
> > >>>>>> /**
> > >>>>>> * Constructor receiving an IResourceStream..
> > >>>>>> *
> > >>>>>> * @param id
> > >>>>>> * @param stream
> > >>>>>> */
> > >>>>>> public DocumentInlineFrame(String id, IResourceStream stream)
> > >{
> > >>>>>> this(id, new ResourceStreamResource(stream));
> > >>>>>> }
> > >>>>>>
> > >>>>>> /**
> > >>>>>> * Constructor receiving an IResource..
> > >>>>>> *
> > >>>>>> * @param id
> > >>>>>> * @param resourceListener
> > >>>>>> */
> > >>>>>> public DocumentInlineFrame(final String id, IResource
> > >>>>> documentResource)
> > >>>>>> {
> > >>>>>> super(id);
> > >>>>>> this.documentResource = documentResource;
> > >>>>>> }
> > >>>>>>
> > >>>>>> /**
> > >>>>>> * Gets the url to use for this link.
> > >>>>>> *
> > >>>>>> * @return The URL that this link links to
> > >>>>>> */
> > >>>>>> protected CharSequence getURL() {
> > >>>>>> //return urlForListener(new PageParameters());
> > >>>>>> *return urlForListener(null);*
> > >>>>>> }
> > >>>>>>
> > >>>>>> /**
> > >>>>>> * Handles this frame's tag.
> > >>>>>> *
> > >>>>>> * @param tag the component tag
> > >>>>>> * @see
> > >org.apache.wicket.Component#onComponentTag(ComponentTag)
> > >>>>>> */
> > >>>>>> @Override
> > >>>>>> protected void onComponentTag(final ComponentTag tag) {
> > >>>>>> checkComponentTag(tag, "iframe");
> > >>>>>>
> > >>>>>> // Set href to link to this frame's frameRequested method
> > >>>>>> CharSequence url = getURL();
> > >>>>>>
> > >>>>>> // generate the src attribute
> > >>>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> > >>>>>>
> > >>>>>> super.onComponentTag(tag);
> > >>>>>> }
> > >>>>>>
> > >>>>>> @Override
> > >>>>>> protected boolean getStatelessHint() {
> > >>>>>> return false;
> > >>>>>> }
> > >>>>>>
> > >>>>>> @Override
> > >>>>>> public void onRequest() {
> > >>>>>>
> > >>>>>>
> > >>>>>> *RequestCycle requestCycle = RequestCycle.get();
> > >Attributes
> > >>>>>> attributes = new Attributes(requestCycle.getRequest(),
> > >>>>>> requestCycle.getResponse(), null);
> > >>>>>> this.documentResource.respond(attributes);*
> > >>>>>> }
> > >>>>>> }
> > >>>>>> /*** END CODE ***/
> > >>>>>>
> > >>>>>> /*** STACK TRACE ***/
> > >>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
> > >>>>> ********************************
> > >>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
> > >>>>>> Unexpected error occurred
> > >>>>>> java.lang.IllegalStateException: Committed
> > >>>>>> at
> > >>>>>
> > >org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> > >>>>>> at
> > >org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> > >>>>>> at
> > >org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> > >>>>>> at
> > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> > >>>>>> at
> > >org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > >>>>>> at
> > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > >>>>>> at
> > >>>>>> org.eclipse.jetty.io
> > >>>>>>
> > >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > >>>>>> at
> > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > >>>>>> at
> > >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > >>>>>> Aug 22 12:37:54 ERROR
> > >org.apache.wicket.request.cycle.RequestCycle -
> > >>>>>> Exception retry count exceeded
> > >>>>>> java.lang.IllegalStateException: STREAM
> > >>>>>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > >>>>>> at
> > >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > >>>>>> at
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > >>>>>> at
> > >>>>>> org.eclipse.jetty.io
> > >>>>>>
> > >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > >>>>>> at
> > >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > >>>>>> at
> > >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > >>>>>> at
> > >>>>>>
> > >>>>>>
> > >>>>>
> >
> >
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > >>>>>> at java.lang.Thread.run(Thread.java:745)
> > >>>>>> /*** END STACK TRACE ***/
> > >>>>>>
> > >>>>>
> > >>>>> --
> > >>>>> Regards - Ernesto Reinaldo Barreiro
> > >>>>>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > >> For additional commands, e-mail: users-help@wicket.apache.org
> > >>
> > >
> > >---------------------------------------------------------------------
> > >To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > >For additional commands, e-mail: users-help@wicket.apache.org
> >
>
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
Hi Sven,
Hmm... so this seems to be a problem only on specific browsers.
I'm seeing this on:
- Google Chrome Version 76.0.3809.100 (OS X Mojave & Win 7)
- Safari Version 12.1.2 (OS X Mojave)
- IE 11 Version 11.0.135 (Win 7)
And not seeing this on:
- Firefox Quantum 68.0.2 (OS X Mojave)
- Firefox Quantum 68.0.1 (Win 7)
Knowing this, I'm going to move on from this issue (for now), but thanks
for all your help!
Ben
On Wed, Aug 28, 2019 at 9:32 AM Sven Meier <sv...@meiers.net> wrote:
> Hi Ben,
>
> which browser?
>
> We had long time problems with IE stopping requests an re-requesting
> resources without reason.
>
> Sven
>
> Am 28. August 2019 16:18:23 MESZ schrieb Benjamin Chew <
> bchew@smarthealth.com>:
> >Thanks, Sven.
> >
> >The weird thing is that this is happening during my testing, and I’m
> >not navigating away from the page at all...
> >
> >Ben
> >
> >> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net> wrote:
> >>
> >> Hi Benjamin,
> >>
> >> this just means that the browser closed the connection before the pdf
> >was fully loaded from the server, e.g. if the user switches to a
> >different page before the iframe has finished loading.
> >>
> >> Nothing you need/can do about it.
> >>
> >> Have fun
> >> Sven
> >>
> >>
> >>> On 27.08.19 02:13, Benjamin Chew wrote:
> >>> I said thanks too soon. ;)
> >>>
> >>> Now I'm seeing this warning intermittently:
> >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> >>> org.eclipse.jetty.io.EofException
> >>> Caused by: org.eclipse.jetty.io.EofException
> >>> Caused by: java.io.IOException: Broken pipe
> >>>
> >>> Is there anything in the DocumentInlineFrame class or the way I'm
> >using it
> >>> that would cause this problem?
> >>>
> >>> Thanks,
> >>> Ben
> >>>
> >>> /*** Calling Class ***/
> >>> queue(new DocumentInlineFrame("ticketsIFrame", new
> >ResourceStreamResource()
> >>> {
> >>> @Override
> >>> protected IResourceStream getResourceStream(Attributes
> >attributes) {
> >>> return
> >>> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
> >>> }
> >>>
>
> >}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
> >>>
> >>>
> >>>
> >>> /*** DocumentInlineFrame Class ***/
> >>> public class DocumentInlineFrame extends WebMarkupContainer
> >implements
> >>> IRequestListener {
> >>> private static final long serialVersionUID = 1 L;
> >>> private IResource documentResource;
> >>>
> >>> /**
> >>> * Constructor receiving an IResourceStream..
> >>> *
> >>> * @param id
> >>> * @param stream
> >>> */
> >>> public DocumentInlineFrame(String id, IResourceStream stream) {
> >>> this(id, new ResourceStreamResource(stream));
> >>> }
> >>>
> >>> /**
> >>> * Constructor receiving an IResource..
> >>> *
> >>> * @param id
> >>> * @param resourceListener
> >>> */
> >>> public DocumentInlineFrame(final String id, IResource
> >documentResource)
> >>> {
> >>> super(id);
> >>> this.documentResource = documentResource;
> >>> }
> >>>
> >>> /**
> >>> * Gets the url to use for this link.
> >>> *
> >>> * @return The URL that this link links to
> >>> */
> >>> protected CharSequence getURL() {
> >>> return urlForListener(null);
> >>> }
> >>>
> >>> /**
> >>> * Handles this frame's tag.
> >>> *
> >>> * @param tag the component tag
> >>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
> >>> */
> >>> @Override
> >>> protected void onComponentTag(final ComponentTag tag) {
> >>> checkComponentTag(tag, "iframe");
> >>>
> >>> // Set href to link to this frame's frameRequested method
> >>> CharSequence url = getURL();
> >>>
> >>> // Generate the src attribute
> >>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> >>>
> >>> super.onComponentTag(tag);
> >>> }
> >>>
> >>> @Override
> >>> protected boolean getStatelessHint() {
> >>> return false;
> >>> }
> >>>
> >>> @Override
> >>> public boolean rendersPage() {
> >>> return false;
> >>> }
> >>>
> >>> @Override
> >>> public void onRequest() {
> >>> RequestCycle requestCycle = RequestCycle.get();
> >>> Attributes attributes = new
> >Attributes(requestCycle.getRequest(),
> >>> requestCycle.getResponse(), null);
> >>>
> >>> this.documentResource.respond(attributes);
> >>> }
> >>> }
> >>>
> >>>
> >>>
> >>> /*** Full Stacktrace ***/
> >>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following
> >exception
> >>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> >>> org.eclipse.jetty.io.EofException
> >>> at
> >>>
>
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
> >>> at
> >>>
>
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
> >>> at
> >org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
> >>> at
> >>>
>
> >com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
> >>> at
> >>>
>
> >org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
> >>> at
> >>>
>
> >org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
> >>> at
> >>>
>
> >com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
> >>> at
> >>>
>
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> >>> at
> >>>
>
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
> >>> at
> >>>
>
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
> >>> at
> >>>
>
> >org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> >>> at
> >>>
>
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> >>> at
> >>>
>
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> >>> at
> >>>
>
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> >>> at
> >>>
>
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> >>> at
> >>>
>
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> >>> at
> >>>
>
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> >>> at
> >>>
>
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> >>> at
> >>>
>
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> >>> at
> >>>
>
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> >>> at
> >>>
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> >>> at
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> >>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> >>> at
> >>>
> >org.eclipse.jetty.io
> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> >>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> >>> at
> >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> >>> at java.lang.Thread.run(Thread.java:745)
> >>> Caused by: org.eclipse.jetty.io.EofException
> >>> at
> >org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
> >>> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
> >>> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
> >>> at
> >org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> >>> at
> >org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
> >>> at
> >org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
> >>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> >>> at
> >>>
>
> >org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
> >>> at
> >>>
>
> >org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
> >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
> >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
> >>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
> >>> at java.io.OutputStream.write(OutputStream.java:75)
> >>> at
> >>>
>
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
> >>> ... 48 more
> >>> Caused by: java.io.IOException: Broken pipe
> >>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
> >>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
> >>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
> >>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
> >>> at
> >org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
> >>> ... 67 more
> >>>
> >>>
> >>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew
> ><bc...@smarthealth.com> wrote:
> >>>>
> >>>> Thanks, Sven.
> >>>>
> >>>> And thanks Ernesto for writing that example in the first place!
> >>>>
> >>>> Ben
> >>>>
> >>>>
> >>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
> >>>> reiern70@gmail.com> wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> Thanks for reporting this. I will fix the example and adapt it to
> >wicket
> >>>>> 8.x.
> >>>>>
> >>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew
> ><bc...@smarthealth.com>
> >>>>> wrote:
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> I'm pretty new to Wicket, and am trying to figure out how to
> >stream a
> >>>>> PDF
> >>>>>> into an iFrame. I've searched for a solution and come across
> >Ernesto's
> >>>>>> DocumentInlineFrame class here:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
> >>>>>> Since IResourceListener is no longer a part of Wicket 8, I've
> >modified
> >>>>> the
> >>>>>> class in these ways:
> >>>>>> 1) The class implements IRequestListener
> >>>>>> 2) Return urlForListener(null) in getURL()
> >>>>>> 3) Renamed onResourceRequested() to onRequest()
> >>>>>>
> >>>>>> But I'm getting an error:
> >>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected
> >error
> >>>>> occurred
> >>>>>> java.lang.IllegalStateException: Committed
> >>>>>>
> >>>>>> The code and full stack trace are below. Any ideas on what I'm
> >doing
> >>>>> wrong?
> >>>>>> Thanks,
> >>>>>> Ben
> >>>>>>
> >>>>>> /*** CODE ***/
> >>>>>> public class DocumentInlineFrame extends WebMarkupContainer
> >implements
> >>>>>> *IRequestListener* {
> >>>>>> private static final long serialVersionUID = 1 L;
> >>>>>>
> >>>>>> private IResource documentResource;
> >>>>>>
> >>>>>> /**
> >>>>>> * Constructor receiving an IResourceStream..
> >>>>>> *
> >>>>>> * @param id
> >>>>>> * @param stream
> >>>>>> */
> >>>>>> public DocumentInlineFrame(String id, IResourceStream stream)
> >{
> >>>>>> this(id, new ResourceStreamResource(stream));
> >>>>>> }
> >>>>>>
> >>>>>> /**
> >>>>>> * Constructor receiving an IResource..
> >>>>>> *
> >>>>>> * @param id
> >>>>>> * @param resourceListener
> >>>>>> */
> >>>>>> public DocumentInlineFrame(final String id, IResource
> >>>>> documentResource)
> >>>>>> {
> >>>>>> super(id);
> >>>>>> this.documentResource = documentResource;
> >>>>>> }
> >>>>>>
> >>>>>> /**
> >>>>>> * Gets the url to use for this link.
> >>>>>> *
> >>>>>> * @return The URL that this link links to
> >>>>>> */
> >>>>>> protected CharSequence getURL() {
> >>>>>> //return urlForListener(new PageParameters());
> >>>>>> *return urlForListener(null);*
> >>>>>> }
> >>>>>>
> >>>>>> /**
> >>>>>> * Handles this frame's tag.
> >>>>>> *
> >>>>>> * @param tag the component tag
> >>>>>> * @see
> >org.apache.wicket.Component#onComponentTag(ComponentTag)
> >>>>>> */
> >>>>>> @Override
> >>>>>> protected void onComponentTag(final ComponentTag tag) {
> >>>>>> checkComponentTag(tag, "iframe");
> >>>>>>
> >>>>>> // Set href to link to this frame's frameRequested method
> >>>>>> CharSequence url = getURL();
> >>>>>>
> >>>>>> // generate the src attribute
> >>>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
> >>>>>>
> >>>>>> super.onComponentTag(tag);
> >>>>>> }
> >>>>>>
> >>>>>> @Override
> >>>>>> protected boolean getStatelessHint() {
> >>>>>> return false;
> >>>>>> }
> >>>>>>
> >>>>>> @Override
> >>>>>> public void onRequest() {
> >>>>>>
> >>>>>>
> >>>>>> *RequestCycle requestCycle = RequestCycle.get();
> >Attributes
> >>>>>> attributes = new Attributes(requestCycle.getRequest(),
> >>>>>> requestCycle.getResponse(), null);
> >>>>>> this.documentResource.respond(attributes);*
> >>>>>> }
> >>>>>> }
> >>>>>> /*** END CODE ***/
> >>>>>>
> >>>>>> /*** STACK TRACE ***/
> >>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
> >>>>> ********************************
> >>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
> >>>>>> Unexpected error occurred
> >>>>>> java.lang.IllegalStateException: Committed
> >>>>>> at
> >>>>>
> >org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> >>>>>> at
> >org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> >>>>>> at
> >org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> >>>>>> at
> >org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> >>>>>> at
> >org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> >>>>>> at
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> >>>>>> at
> >>>>>>
> >>>>>
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> >>>>>> at
> >>>>>>
> >>>>>
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> >>>>>> at
> >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> >>>>>> at
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> >>>>>> at
> >>>>>> org.eclipse.jetty.io
> >>>>>>
> >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> >>>>>> at
> >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> >>>>>> at
> >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> >>>>>> at java.lang.Thread.run(Thread.java:745)
> >>>>>> Aug 22 12:37:54 ERROR
> >org.apache.wicket.request.cycle.RequestCycle -
> >>>>>> Exception retry count exceeded
> >>>>>> java.lang.IllegalStateException: STREAM
> >>>>>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> >>>>>> at
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> >>>>>> at
> >>>>>>
> >>>>>
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> >>>>>> at
> >>>>>>
> >>>>>
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> >>>>>> at
> >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> >>>>>> at
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> >>>>>> at
> >>>>>> org.eclipse.jetty.io
> >>>>>>
> >.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> >>>>>> at
> >org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> >>>>>> at
> >org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> >>>>>> at
> >>>>>>
> >>>>>>
> >>>>>
>
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> >>>>>> at java.lang.Thread.run(Thread.java:745)
> >>>>>> /*** END STACK TRACE ***/
> >>>>>>
> >>>>>
> >>>>> --
> >>>>> Regards - Ernesto Reinaldo Barreiro
> >>>>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >>
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >For additional commands, e-mail: users-help@wicket.apache.org
>
Re: Streaming a PDF into an iFrame
Posted by Sven Meier <sv...@meiers.net>.
Hi Ben,
which browser?
We had long time problems with IE stopping requests an re-requesting resources without reason.
Sven
Am 28. August 2019 16:18:23 MESZ schrieb Benjamin Chew <bc...@smarthealth.com>:
>Thanks, Sven.
>
>The weird thing is that this is happening during my testing, and I’m
>not navigating away from the page at all...
>
>Ben
>
>> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net> wrote:
>>
>> Hi Benjamin,
>>
>> this just means that the browser closed the connection before the pdf
>was fully loaded from the server, e.g. if the user switches to a
>different page before the iframe has finished loading.
>>
>> Nothing you need/can do about it.
>>
>> Have fun
>> Sven
>>
>>
>>> On 27.08.19 02:13, Benjamin Chew wrote:
>>> I said thanks too soon. ;)
>>>
>>> Now I'm seeing this warning intermittently:
>>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
>>> org.eclipse.jetty.io.EofException
>>> Caused by: org.eclipse.jetty.io.EofException
>>> Caused by: java.io.IOException: Broken pipe
>>>
>>> Is there anything in the DocumentInlineFrame class or the way I'm
>using it
>>> that would cause this problem?
>>>
>>> Thanks,
>>> Ben
>>>
>>> /*** Calling Class ***/
>>> queue(new DocumentInlineFrame("ticketsIFrame", new
>ResourceStreamResource()
>>> {
>>> @Override
>>> protected IResourceStream getResourceStream(Attributes
>attributes) {
>>> return
>>> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
>>> }
>>>
>}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
>>>
>>>
>>>
>>> /*** DocumentInlineFrame Class ***/
>>> public class DocumentInlineFrame extends WebMarkupContainer
>implements
>>> IRequestListener {
>>> private static final long serialVersionUID = 1 L;
>>> private IResource documentResource;
>>>
>>> /**
>>> * Constructor receiving an IResourceStream..
>>> *
>>> * @param id
>>> * @param stream
>>> */
>>> public DocumentInlineFrame(String id, IResourceStream stream) {
>>> this(id, new ResourceStreamResource(stream));
>>> }
>>>
>>> /**
>>> * Constructor receiving an IResource..
>>> *
>>> * @param id
>>> * @param resourceListener
>>> */
>>> public DocumentInlineFrame(final String id, IResource
>documentResource)
>>> {
>>> super(id);
>>> this.documentResource = documentResource;
>>> }
>>>
>>> /**
>>> * Gets the url to use for this link.
>>> *
>>> * @return The URL that this link links to
>>> */
>>> protected CharSequence getURL() {
>>> return urlForListener(null);
>>> }
>>>
>>> /**
>>> * Handles this frame's tag.
>>> *
>>> * @param tag the component tag
>>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>>> */
>>> @Override
>>> protected void onComponentTag(final ComponentTag tag) {
>>> checkComponentTag(tag, "iframe");
>>>
>>> // Set href to link to this frame's frameRequested method
>>> CharSequence url = getURL();
>>>
>>> // Generate the src attribute
>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>>
>>> super.onComponentTag(tag);
>>> }
>>>
>>> @Override
>>> protected boolean getStatelessHint() {
>>> return false;
>>> }
>>>
>>> @Override
>>> public boolean rendersPage() {
>>> return false;
>>> }
>>>
>>> @Override
>>> public void onRequest() {
>>> RequestCycle requestCycle = RequestCycle.get();
>>> Attributes attributes = new
>Attributes(requestCycle.getRequest(),
>>> requestCycle.getResponse(), null);
>>>
>>> this.documentResource.respond(attributes);
>>> }
>>> }
>>>
>>>
>>>
>>> /*** Full Stacktrace ***/
>>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following
>exception
>>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
>>> org.eclipse.jetty.io.EofException
>>> at
>>>
>org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
>>> at
>>>
>org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
>>> at
>org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
>>> at
>>>
>com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
>>> at
>>>
>org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
>>> at
>>>
>org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
>>> at
>>>
>com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
>>> at
>>>
>org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
>>> at
>>>
>org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
>>> at
>>>
>org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
>>> at
>>>
>org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>> at
>>>
>org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>> at
>>>
>org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>> at
>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>> at
>>>
>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>> at
>>>
>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>> at
>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>> at
>>>
>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>> at
>>>
>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>> at
>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>> at
>>>
>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>> at
>>>
>org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>> at
>org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>> at
>>>
>org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>> at
>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>> at
>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by: org.eclipse.jetty.io.EofException
>>> at
>org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
>>> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
>>> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
>>> at
>org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
>>> at
>>>
>org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
>>> at
>>>
>org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
>>> at
>>>
>org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
>>> at
>org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
>>> at
>org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
>>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
>>> at
>>>
>org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
>>> at
>>>
>org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
>>> at
>>>
>org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
>>> at
>>>
>org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
>>> at
>>>
>org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
>>> at java.io.OutputStream.write(OutputStream.java:75)
>>> at
>>>
>org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
>>> ... 48 more
>>> Caused by: java.io.IOException: Broken pipe
>>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
>>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
>>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
>>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
>>> at
>org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
>>> ... 67 more
>>>
>>>
>>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew
><bc...@smarthealth.com> wrote:
>>>>
>>>> Thanks, Sven.
>>>>
>>>> And thanks Ernesto for writing that example in the first place!
>>>>
>>>> Ben
>>>>
>>>>
>>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
>>>> reiern70@gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Thanks for reporting this. I will fix the example and adapt it to
>wicket
>>>>> 8.x.
>>>>>
>>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew
><bc...@smarthealth.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm pretty new to Wicket, and am trying to figure out how to
>stream a
>>>>> PDF
>>>>>> into an iFrame. I've searched for a solution and come across
>Ernesto's
>>>>>> DocumentInlineFrame class here:
>>>>>>
>>>>>>
>>>>>>
>>>>>
>https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>>>>>> Since IResourceListener is no longer a part of Wicket 8, I've
>modified
>>>>> the
>>>>>> class in these ways:
>>>>>> 1) The class implements IRequestListener
>>>>>> 2) Return urlForListener(null) in getURL()
>>>>>> 3) Renamed onResourceRequested() to onRequest()
>>>>>>
>>>>>> But I'm getting an error:
>>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected
>error
>>>>> occurred
>>>>>> java.lang.IllegalStateException: Committed
>>>>>>
>>>>>> The code and full stack trace are below. Any ideas on what I'm
>doing
>>>>> wrong?
>>>>>> Thanks,
>>>>>> Ben
>>>>>>
>>>>>> /*** CODE ***/
>>>>>> public class DocumentInlineFrame extends WebMarkupContainer
>implements
>>>>>> *IRequestListener* {
>>>>>> private static final long serialVersionUID = 1 L;
>>>>>>
>>>>>> private IResource documentResource;
>>>>>>
>>>>>> /**
>>>>>> * Constructor receiving an IResourceStream..
>>>>>> *
>>>>>> * @param id
>>>>>> * @param stream
>>>>>> */
>>>>>> public DocumentInlineFrame(String id, IResourceStream stream)
>{
>>>>>> this(id, new ResourceStreamResource(stream));
>>>>>> }
>>>>>>
>>>>>> /**
>>>>>> * Constructor receiving an IResource..
>>>>>> *
>>>>>> * @param id
>>>>>> * @param resourceListener
>>>>>> */
>>>>>> public DocumentInlineFrame(final String id, IResource
>>>>> documentResource)
>>>>>> {
>>>>>> super(id);
>>>>>> this.documentResource = documentResource;
>>>>>> }
>>>>>>
>>>>>> /**
>>>>>> * Gets the url to use for this link.
>>>>>> *
>>>>>> * @return The URL that this link links to
>>>>>> */
>>>>>> protected CharSequence getURL() {
>>>>>> //return urlForListener(new PageParameters());
>>>>>> *return urlForListener(null);*
>>>>>> }
>>>>>>
>>>>>> /**
>>>>>> * Handles this frame's tag.
>>>>>> *
>>>>>> * @param tag the component tag
>>>>>> * @see
>org.apache.wicket.Component#onComponentTag(ComponentTag)
>>>>>> */
>>>>>> @Override
>>>>>> protected void onComponentTag(final ComponentTag tag) {
>>>>>> checkComponentTag(tag, "iframe");
>>>>>>
>>>>>> // Set href to link to this frame's frameRequested method
>>>>>> CharSequence url = getURL();
>>>>>>
>>>>>> // generate the src attribute
>>>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>>>>>
>>>>>> super.onComponentTag(tag);
>>>>>> }
>>>>>>
>>>>>> @Override
>>>>>> protected boolean getStatelessHint() {
>>>>>> return false;
>>>>>> }
>>>>>>
>>>>>> @Override
>>>>>> public void onRequest() {
>>>>>>
>>>>>>
>>>>>> *RequestCycle requestCycle = RequestCycle.get();
>Attributes
>>>>>> attributes = new Attributes(requestCycle.getRequest(),
>>>>>> requestCycle.getResponse(), null);
>>>>>> this.documentResource.respond(attributes);*
>>>>>> }
>>>>>> }
>>>>>> /*** END CODE ***/
>>>>>>
>>>>>> /*** STACK TRACE ***/
>>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
>>>>> ********************************
>>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
>>>>>> Unexpected error occurred
>>>>>> java.lang.IllegalStateException: Committed
>>>>>> at
>>>>>
>org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
>>>>>> at
>org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
>>>>>> at
>org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
>>>>>> at
>org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
>>>>>> at
>org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>>>>> at
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>>>>> at
>>>>>>
>>>>>
>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>>>>> at
>>>>>>
>>>>>
>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>>>>> at
>org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>>>>> at
>>>>>>
>>>>>
>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>>>>> at
>>>>>> org.eclipse.jetty.io
>>>>>>
>.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>>>>> at
>org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>>>> at
>org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>> Aug 22 12:37:54 ERROR
>org.apache.wicket.request.cycle.RequestCycle -
>>>>>> Exception retry count exceeded
>>>>>> java.lang.IllegalStateException: STREAM
>>>>>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>>>>> at
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>>>>> at
>>>>>>
>>>>>
>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>>>>> at
>>>>>>
>>>>>
>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>>>>> at
>org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>>>>> at
>>>>>>
>>>>>
>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>>>>> at
>>>>>> org.eclipse.jetty.io
>>>>>>
>.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>>>>> at
>org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>>>> at
>org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>>>>> at
>>>>>>
>>>>>>
>>>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>> /*** END STACK TRACE ***/
>>>>>>
>>>>>
>>>>> --
>>>>> Regards - Ernesto Reinaldo Barreiro
>>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>For additional commands, e-mail: users-help@wicket.apache.org
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
Thanks, Sven.
The weird thing is that this is happening during my testing, and I’m not navigating away from the page at all...
Ben
> On Aug 27, 2019, at 11:34 AM, Sven Meier <sv...@meiers.net> wrote:
>
> Hi Benjamin,
>
> this just means that the browser closed the connection before the pdf was fully loaded from the server, e.g. if the user switches to a different page before the iframe has finished loading.
>
> Nothing you need/can do about it.
>
> Have fun
> Sven
>
>
>> On 27.08.19 02:13, Benjamin Chew wrote:
>> I said thanks too soon. ;)
>>
>> Now I'm seeing this warning intermittently:
>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
>> org.eclipse.jetty.io.EofException
>> Caused by: org.eclipse.jetty.io.EofException
>> Caused by: java.io.IOException: Broken pipe
>>
>> Is there anything in the DocumentInlineFrame class or the way I'm using it
>> that would cause this problem?
>>
>> Thanks,
>> Ben
>>
>> /*** Calling Class ***/
>> queue(new DocumentInlineFrame("ticketsIFrame", new ResourceStreamResource()
>> {
>> @Override
>> protected IResourceStream getResourceStream(Attributes attributes) {
>> return
>> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
>> }
>> }.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
>>
>>
>>
>> /*** DocumentInlineFrame Class ***/
>> public class DocumentInlineFrame extends WebMarkupContainer implements
>> IRequestListener {
>> private static final long serialVersionUID = 1 L;
>> private IResource documentResource;
>>
>> /**
>> * Constructor receiving an IResourceStream..
>> *
>> * @param id
>> * @param stream
>> */
>> public DocumentInlineFrame(String id, IResourceStream stream) {
>> this(id, new ResourceStreamResource(stream));
>> }
>>
>> /**
>> * Constructor receiving an IResource..
>> *
>> * @param id
>> * @param resourceListener
>> */
>> public DocumentInlineFrame(final String id, IResource documentResource)
>> {
>> super(id);
>> this.documentResource = documentResource;
>> }
>>
>> /**
>> * Gets the url to use for this link.
>> *
>> * @return The URL that this link links to
>> */
>> protected CharSequence getURL() {
>> return urlForListener(null);
>> }
>>
>> /**
>> * Handles this frame's tag.
>> *
>> * @param tag the component tag
>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>> */
>> @Override
>> protected void onComponentTag(final ComponentTag tag) {
>> checkComponentTag(tag, "iframe");
>>
>> // Set href to link to this frame's frameRequested method
>> CharSequence url = getURL();
>>
>> // Generate the src attribute
>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>
>> super.onComponentTag(tag);
>> }
>>
>> @Override
>> protected boolean getStatelessHint() {
>> return false;
>> }
>>
>> @Override
>> public boolean rendersPage() {
>> return false;
>> }
>>
>> @Override
>> public void onRequest() {
>> RequestCycle requestCycle = RequestCycle.get();
>> Attributes attributes = new Attributes(requestCycle.getRequest(),
>> requestCycle.getResponse(), null);
>>
>> this.documentResource.respond(attributes);
>> }
>> }
>>
>>
>>
>> /*** Full Stacktrace ***/
>> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following exception
>> org.apache.wicket.protocol.http.servlet.ResponseIOException:
>> org.eclipse.jetty.io.EofException
>> at
>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
>> at
>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
>> at org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
>> at
>> com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
>> at
>> org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
>> at
>> org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
>> at
>> com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
>> at
>> org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
>> at
>> org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
>> at
>> org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
>> at
>> org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
>> at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>> at
>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>> at
>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>> at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>> at
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: org.eclipse.jetty.io.EofException
>> at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
>> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
>> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
>> at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
>> at
>> org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
>> at
>> org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
>> at
>> org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
>> at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
>> at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
>> at
>> org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
>> at
>> org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
>> at
>> org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
>> at
>> org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
>> at
>> org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
>> at java.io.OutputStream.write(OutputStream.java:75)
>> at
>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
>> ... 48 more
>> Caused by: java.io.IOException: Broken pipe
>> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
>> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
>> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
>> at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
>> ... 67 more
>>
>>
>>> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew <bc...@smarthealth.com> wrote:
>>>
>>> Thanks, Sven.
>>>
>>> And thanks Ernesto for writing that example in the first place!
>>>
>>> Ben
>>>
>>>
>>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
>>> reiern70@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Thanks for reporting this. I will fix the example and adapt it to wicket
>>>> 8.x.
>>>>
>>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew <bc...@smarthealth.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm pretty new to Wicket, and am trying to figure out how to stream a
>>>> PDF
>>>>> into an iFrame. I've searched for a solution and come across Ernesto's
>>>>> DocumentInlineFrame class here:
>>>>>
>>>>>
>>>>>
>>>> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>>>>> Since IResourceListener is no longer a part of Wicket 8, I've modified
>>>> the
>>>>> class in these ways:
>>>>> 1) The class implements IRequestListener
>>>>> 2) Return urlForListener(null) in getURL()
>>>>> 3) Renamed onResourceRequested() to onRequest()
>>>>>
>>>>> But I'm getting an error:
>>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error
>>>> occurred
>>>>> java.lang.IllegalStateException: Committed
>>>>>
>>>>> The code and full stack trace are below. Any ideas on what I'm doing
>>>> wrong?
>>>>> Thanks,
>>>>> Ben
>>>>>
>>>>> /*** CODE ***/
>>>>> public class DocumentInlineFrame extends WebMarkupContainer implements
>>>>> *IRequestListener* {
>>>>> private static final long serialVersionUID = 1 L;
>>>>>
>>>>> private IResource documentResource;
>>>>>
>>>>> /**
>>>>> * Constructor receiving an IResourceStream..
>>>>> *
>>>>> * @param id
>>>>> * @param stream
>>>>> */
>>>>> public DocumentInlineFrame(String id, IResourceStream stream) {
>>>>> this(id, new ResourceStreamResource(stream));
>>>>> }
>>>>>
>>>>> /**
>>>>> * Constructor receiving an IResource..
>>>>> *
>>>>> * @param id
>>>>> * @param resourceListener
>>>>> */
>>>>> public DocumentInlineFrame(final String id, IResource
>>>> documentResource)
>>>>> {
>>>>> super(id);
>>>>> this.documentResource = documentResource;
>>>>> }
>>>>>
>>>>> /**
>>>>> * Gets the url to use for this link.
>>>>> *
>>>>> * @return The URL that this link links to
>>>>> */
>>>>> protected CharSequence getURL() {
>>>>> //return urlForListener(new PageParameters());
>>>>> *return urlForListener(null);*
>>>>> }
>>>>>
>>>>> /**
>>>>> * Handles this frame's tag.
>>>>> *
>>>>> * @param tag the component tag
>>>>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>>>>> */
>>>>> @Override
>>>>> protected void onComponentTag(final ComponentTag tag) {
>>>>> checkComponentTag(tag, "iframe");
>>>>>
>>>>> // Set href to link to this frame's frameRequested method
>>>>> CharSequence url = getURL();
>>>>>
>>>>> // generate the src attribute
>>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>>>>
>>>>> super.onComponentTag(tag);
>>>>> }
>>>>>
>>>>> @Override
>>>>> protected boolean getStatelessHint() {
>>>>> return false;
>>>>> }
>>>>>
>>>>> @Override
>>>>> public void onRequest() {
>>>>>
>>>>>
>>>>> *RequestCycle requestCycle = RequestCycle.get(); Attributes
>>>>> attributes = new Attributes(requestCycle.getRequest(),
>>>>> requestCycle.getResponse(), null);
>>>>> this.documentResource.respond(attributes);*
>>>>> }
>>>>> }
>>>>> /*** END CODE ***/
>>>>>
>>>>> /*** STACK TRACE ***/
>>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
>>>> ********************************
>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
>>>>> Unexpected error occurred
>>>>> java.lang.IllegalStateException: Committed
>>>>> at
>>>> org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
>>>>> at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
>>>>> at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
>>>>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
>>>>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>>>> at
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>>>> at
>>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>>>> at
>>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>>>> at
>>>>>
>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>>>> at
>>>>> org.eclipse.jetty.io
>>>>> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
>>>>> Exception retry count exceeded
>>>>> java.lang.IllegalStateException: STREAM
>>>>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>>>> at
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>>>> at
>>>>>
>>>>>
>>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>>>> at
>>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>>>> at
>>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>>>> at
>>>>>
>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>>>> at
>>>>> org.eclipse.jetty.io
>>>>> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>>>> at
>>>>>
>>>>>
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> /*** END STACK TRACE ***/
>>>>>
>>>>
>>>> --
>>>> Regards - Ernesto Reinaldo Barreiro
>>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Streaming a PDF into an iFrame
Posted by Sven Meier <sv...@meiers.net>.
Hi Benjamin,
this just means that the browser closed the connection before the pdf
was fully loaded from the server, e.g. if the user switches to a
different page before the iframe has finished loading.
Nothing you need/can do about it.
Have fun
Sven
On 27.08.19 02:13, Benjamin Chew wrote:
> I said thanks too soon. ;)
>
> Now I'm seeing this warning intermittently:
> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> org.eclipse.jetty.io.EofException
> Caused by: org.eclipse.jetty.io.EofException
> Caused by: java.io.IOException: Broken pipe
>
> Is there anything in the DocumentInlineFrame class or the way I'm using it
> that would cause this problem?
>
> Thanks,
> Ben
>
> /*** Calling Class ***/
> queue(new DocumentInlineFrame("ticketsIFrame", new ResourceStreamResource()
> {
> @Override
> protected IResourceStream getResourceStream(Attributes attributes) {
> return
> pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
> }
> }.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
>
>
>
> /*** DocumentInlineFrame Class ***/
> public class DocumentInlineFrame extends WebMarkupContainer implements
> IRequestListener {
> private static final long serialVersionUID = 1 L;
> private IResource documentResource;
>
> /**
> * Constructor receiving an IResourceStream..
> *
> * @param id
> * @param stream
> */
> public DocumentInlineFrame(String id, IResourceStream stream) {
> this(id, new ResourceStreamResource(stream));
> }
>
> /**
> * Constructor receiving an IResource..
> *
> * @param id
> * @param resourceListener
> */
> public DocumentInlineFrame(final String id, IResource documentResource)
> {
> super(id);
> this.documentResource = documentResource;
> }
>
> /**
> * Gets the url to use for this link.
> *
> * @return The URL that this link links to
> */
> protected CharSequence getURL() {
> return urlForListener(null);
> }
>
> /**
> * Handles this frame's tag.
> *
> * @param tag the component tag
> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
> */
> @Override
> protected void onComponentTag(final ComponentTag tag) {
> checkComponentTag(tag, "iframe");
>
> // Set href to link to this frame's frameRequested method
> CharSequence url = getURL();
>
> // Generate the src attribute
> tag.put("src", Strings.replaceAll(url, "&", "&"));
>
> super.onComponentTag(tag);
> }
>
> @Override
> protected boolean getStatelessHint() {
> return false;
> }
>
> @Override
> public boolean rendersPage() {
> return false;
> }
>
> @Override
> public void onRequest() {
> RequestCycle requestCycle = RequestCycle.get();
> Attributes attributes = new Attributes(requestCycle.getRequest(),
> requestCycle.getResponse(), null);
>
> this.documentResource.respond(attributes);
> }
> }
>
>
>
> /*** Full Stacktrace ***/
> Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following exception
> org.apache.wicket.protocol.http.servlet.ResponseIOException:
> org.eclipse.jetty.io.EofException
> at
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
> at
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
> at org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
> at
> com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
> at
> org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
> at
> org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
> at
> com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> at
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.eclipse.jetty.io.EofException
> at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
> at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
> at
> org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
> at
> org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> at
> org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
> at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
> at
> org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
> at
> org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
> at java.io.OutputStream.write(OutputStream.java:75)
> at
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
> ... 48 more
> Caused by: java.io.IOException: Broken pipe
> at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
> at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
> at sun.nio.ch.IOUtil.write(IOUtil.java:148)
> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
> at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
> ... 67 more
>
>
> On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew <bc...@smarthealth.com> wrote:
>
>> Thanks, Sven.
>>
>> And thanks Ernesto for writing that example in the first place!
>>
>> Ben
>>
>>
>> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
>> reiern70@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> Thanks for reporting this. I will fix the example and adapt it to wicket
>>> 8.x.
>>>
>>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew <bc...@smarthealth.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm pretty new to Wicket, and am trying to figure out how to stream a
>>> PDF
>>>> into an iFrame. I've searched for a solution and come across Ernesto's
>>>> DocumentInlineFrame class here:
>>>>
>>>>
>>>>
>>> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>>>> Since IResourceListener is no longer a part of Wicket 8, I've modified
>>> the
>>>> class in these ways:
>>>> 1) The class implements IRequestListener
>>>> 2) Return urlForListener(null) in getURL()
>>>> 3) Renamed onResourceRequested() to onRequest()
>>>>
>>>> But I'm getting an error:
>>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error
>>> occurred
>>>> java.lang.IllegalStateException: Committed
>>>>
>>>> The code and full stack trace are below. Any ideas on what I'm doing
>>> wrong?
>>>> Thanks,
>>>> Ben
>>>>
>>>> /*** CODE ***/
>>>> public class DocumentInlineFrame extends WebMarkupContainer implements
>>>> *IRequestListener* {
>>>> private static final long serialVersionUID = 1 L;
>>>>
>>>> private IResource documentResource;
>>>>
>>>> /**
>>>> * Constructor receiving an IResourceStream..
>>>> *
>>>> * @param id
>>>> * @param stream
>>>> */
>>>> public DocumentInlineFrame(String id, IResourceStream stream) {
>>>> this(id, new ResourceStreamResource(stream));
>>>> }
>>>>
>>>> /**
>>>> * Constructor receiving an IResource..
>>>> *
>>>> * @param id
>>>> * @param resourceListener
>>>> */
>>>> public DocumentInlineFrame(final String id, IResource
>>> documentResource)
>>>> {
>>>> super(id);
>>>> this.documentResource = documentResource;
>>>> }
>>>>
>>>> /**
>>>> * Gets the url to use for this link.
>>>> *
>>>> * @return The URL that this link links to
>>>> */
>>>> protected CharSequence getURL() {
>>>> //return urlForListener(new PageParameters());
>>>> *return urlForListener(null);*
>>>> }
>>>>
>>>> /**
>>>> * Handles this frame's tag.
>>>> *
>>>> * @param tag the component tag
>>>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>>>> */
>>>> @Override
>>>> protected void onComponentTag(final ComponentTag tag) {
>>>> checkComponentTag(tag, "iframe");
>>>>
>>>> // Set href to link to this frame's frameRequested method
>>>> CharSequence url = getURL();
>>>>
>>>> // generate the src attribute
>>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>>>
>>>> super.onComponentTag(tag);
>>>> }
>>>>
>>>> @Override
>>>> protected boolean getStatelessHint() {
>>>> return false;
>>>> }
>>>>
>>>> @Override
>>>> public void onRequest() {
>>>>
>>>>
>>>> *RequestCycle requestCycle = RequestCycle.get(); Attributes
>>>> attributes = new Attributes(requestCycle.getRequest(),
>>>> requestCycle.getResponse(), null);
>>>> this.documentResource.respond(attributes);*
>>>> }
>>>> }
>>>> /*** END CODE ***/
>>>>
>>>> /*** STACK TRACE ***/
>>>> Aug 22 12:37:54 WARN RequestCycleExtra -
>>> ********************************
>>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
>>>> Unexpected error occurred
>>>> java.lang.IllegalStateException: Committed
>>>> at
>>> org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
>>>> at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
>>>> at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
>>>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
>>>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>>> at
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>>> at
>>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>>> at
>>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>>> at
>>>>
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>>> at
>>>> org.eclipse.jetty.io
>>>> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
>>>> Exception retry count exceeded
>>>> java.lang.IllegalStateException: STREAM
>>>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>>> at
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>>> at
>>>>
>>>>
>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>>> at
>>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>>> at
>>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>>> at
>>>>
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>>> at
>>>> org.eclipse.jetty.io
>>>> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>>> at
>>>>
>>>>
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> /*** END STACK TRACE ***/
>>>>
>>>
>>> --
>>> Regards - Ernesto Reinaldo Barreiro
>>>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
I said thanks too soon. ;)
Now I'm seeing this warning intermittently:
org.apache.wicket.protocol.http.servlet.ResponseIOException:
org.eclipse.jetty.io.EofException
Caused by: org.eclipse.jetty.io.EofException
Caused by: java.io.IOException: Broken pipe
Is there anything in the DocumentInlineFrame class or the way I'm using it
that would cause this problem?
Thanks,
Ben
/*** Calling Class ***/
queue(new DocumentInlineFrame("ticketsIFrame", new ResourceStreamResource()
{
@Override
protected IResourceStream getResourceStream(Attributes attributes) {
return
pdfStream(getReports().get(SHTicketUtils.TICKET_REPORT_STRING));
}
}.setCacheDuration(Duration.NONE).setContentDisposition(ContentDisposition.INLINE).setFileName("Tickets.pdf")));
/*** DocumentInlineFrame Class ***/
public class DocumentInlineFrame extends WebMarkupContainer implements
IRequestListener {
private static final long serialVersionUID = 1 L;
private IResource documentResource;
/**
* Constructor receiving an IResourceStream..
*
* @param id
* @param stream
*/
public DocumentInlineFrame(String id, IResourceStream stream) {
this(id, new ResourceStreamResource(stream));
}
/**
* Constructor receiving an IResource..
*
* @param id
* @param resourceListener
*/
public DocumentInlineFrame(final String id, IResource documentResource)
{
super(id);
this.documentResource = documentResource;
}
/**
* Gets the url to use for this link.
*
* @return The URL that this link links to
*/
protected CharSequence getURL() {
return urlForListener(null);
}
/**
* Handles this frame's tag.
*
* @param tag the component tag
* @see org.apache.wicket.Component#onComponentTag(ComponentTag)
*/
@Override
protected void onComponentTag(final ComponentTag tag) {
checkComponentTag(tag, "iframe");
// Set href to link to this frame's frameRequested method
CharSequence url = getURL();
// Generate the src attribute
tag.put("src", Strings.replaceAll(url, "&", "&"));
super.onComponentTag(tag);
}
@Override
protected boolean getStatelessHint() {
return false;
}
@Override
public boolean rendersPage() {
return false;
}
@Override
public void onRequest() {
RequestCycle requestCycle = RequestCycle.get();
Attributes attributes = new Attributes(requestCycle.getRequest(),
requestCycle.getResponse(), null);
this.documentResource.respond(attributes);
}
}
/*** Full Stacktrace ***/
Aug 26 16:53:20 WARN RequestCycleExtra - Handling the following exception
org.apache.wicket.protocol.http.servlet.ResponseIOException:
org.eclipse.jetty.io.EofException
at
org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:127)
at
org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:187)
at org.apache.wicket.request.Response$StreamAdapter.write(Response.java:142)
at
com.smarthealth.wicket.printtickets.components.PrintTicketsModal$2.write(PrintTicketsModal.java:150)
at
org.apache.wicket.request.resource.ResourceStreamResource$1.writeData(ResourceStreamResource.java:195)
at
org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:660)
at
com.smarthealth.shmisc.wicket.components.DocumentInlineFrame.onRequest(DocumentInlineFrame.java:108)
at
org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
at
org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255)
at
org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215)
at
org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.jetty.io.EofException
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286)
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:393)
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
at
org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:808)
at
org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
at
org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:538)
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:836)
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:887)
at
org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor$GzipBufferCB.process(GzipHttpOutputInterceptor.java:398)
at
org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
at
org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
at
org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.gzip(GzipHttpOutputInterceptor.java:148)
at
org.eclipse.jetty.server.handler.gzip.GzipHttpOutputInterceptor.write(GzipHttpOutputInterceptor.java:117)
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:239)
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:215)
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:535)
at java.io.OutputStream.write(OutputStream.java:75)
at
org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:123)
... 48 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
at sun.nio.ch.IOUtil.write(IOUtil.java:148)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:266)
... 67 more
On Fri, Aug 23, 2019 at 8:16 AM Benjamin Chew <bc...@smarthealth.com> wrote:
> Thanks, Sven.
>
> And thanks Ernesto for writing that example in the first place!
>
> Ben
>
>
> On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
> reiern70@gmail.com> wrote:
>
>> Hi,
>>
>> Thanks for reporting this. I will fix the example and adapt it to wicket
>> 8.x.
>>
>> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew <bc...@smarthealth.com>
>> wrote:
>>
>> > Hi,
>> >
>> > I'm pretty new to Wicket, and am trying to figure out how to stream a
>> PDF
>> > into an iFrame. I've searched for a solution and come across Ernesto's
>> > DocumentInlineFrame class here:
>> >
>> >
>> >
>> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>> >
>> > Since IResourceListener is no longer a part of Wicket 8, I've modified
>> the
>> > class in these ways:
>> > 1) The class implements IRequestListener
>> > 2) Return urlForListener(null) in getURL()
>> > 3) Renamed onResourceRequested() to onRequest()
>> >
>> > But I'm getting an error:
>> > ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error
>> occurred
>> > java.lang.IllegalStateException: Committed
>> >
>> > The code and full stack trace are below. Any ideas on what I'm doing
>> wrong?
>> >
>> > Thanks,
>> > Ben
>> >
>> > /*** CODE ***/
>> > public class DocumentInlineFrame extends WebMarkupContainer implements
>> > *IRequestListener* {
>> > private static final long serialVersionUID = 1 L;
>> >
>> > private IResource documentResource;
>> >
>> > /**
>> > * Constructor receiving an IResourceStream..
>> > *
>> > * @param id
>> > * @param stream
>> > */
>> > public DocumentInlineFrame(String id, IResourceStream stream) {
>> > this(id, new ResourceStreamResource(stream));
>> > }
>> >
>> > /**
>> > * Constructor receiving an IResource..
>> > *
>> > * @param id
>> > * @param resourceListener
>> > */
>> > public DocumentInlineFrame(final String id, IResource
>> documentResource)
>> > {
>> > super(id);
>> > this.documentResource = documentResource;
>> > }
>> >
>> > /**
>> > * Gets the url to use for this link.
>> > *
>> > * @return The URL that this link links to
>> > */
>> > protected CharSequence getURL() {
>> > //return urlForListener(new PageParameters());
>> > *return urlForListener(null);*
>> > }
>> >
>> > /**
>> > * Handles this frame's tag.
>> > *
>> > * @param tag the component tag
>> > * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>> > */
>> > @Override
>> > protected void onComponentTag(final ComponentTag tag) {
>> > checkComponentTag(tag, "iframe");
>> >
>> > // Set href to link to this frame's frameRequested method
>> > CharSequence url = getURL();
>> >
>> > // generate the src attribute
>> > tag.put("src", Strings.replaceAll(url, "&", "&"));
>> >
>> > super.onComponentTag(tag);
>> > }
>> >
>> > @Override
>> > protected boolean getStatelessHint() {
>> > return false;
>> > }
>> >
>> > @Override
>> > public void onRequest() {
>> >
>> >
>> > *RequestCycle requestCycle = RequestCycle.get(); Attributes
>> > attributes = new Attributes(requestCycle.getRequest(),
>> > requestCycle.getResponse(), null);
>> > this.documentResource.respond(attributes);*
>> > }
>> > }
>> > /*** END CODE ***/
>> >
>> > /*** STACK TRACE ***/
>> > Aug 22 12:37:54 WARN RequestCycleExtra -
>> ********************************
>> > Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
>> > Unexpected error occurred
>> > java.lang.IllegalStateException: Committed
>> > at
>> org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
>> > at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
>> > at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
>> > at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
>> > at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
>> > at
>> >
>> >
>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>> > at
>> >
>> >
>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>> > at
>> >
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>> > at
>> >
>> >
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> > at
>> >
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>> > at
>> >
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> > at org.eclipse.jetty.server.Server.handle(Server.java:503)
>> > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>> > at
>> >
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>> > at
>> > org.eclipse.jetty.io
>> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>> > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>> > at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>> > at java.lang.Thread.run(Thread.java:745)
>> > Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
>> > Exception retry count exceeded
>> > java.lang.IllegalStateException: STREAM
>> > at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
>> > at
>> >
>> >
>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>> > at
>> >
>> >
>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>> > at
>> >
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>> > at
>> >
>> >
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> > at
>> >
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>> > at
>> >
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>> > at
>> >
>> >
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> > at org.eclipse.jetty.server.Server.handle(Server.java:503)
>> > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>> > at
>> >
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>> > at
>> > org.eclipse.jetty.io
>> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>> > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>> > at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>> > at
>> >
>> >
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>> > at java.lang.Thread.run(Thread.java:745)
>> > /*** END STACK TRACE ***/
>> >
>>
>>
>> --
>> Regards - Ernesto Reinaldo Barreiro
>>
>
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
Thanks, Sven.
And thanks Ernesto for writing that example in the first place!
Ben
On Fri, Aug 23, 2019 at 4:13 AM Ernesto Reinaldo Barreiro <
reiern70@gmail.com> wrote:
> Hi,
>
> Thanks for reporting this. I will fix the example and adapt it to wicket
> 8.x.
>
> On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew <bc...@smarthealth.com>
> wrote:
>
> > Hi,
> >
> > I'm pretty new to Wicket, and am trying to figure out how to stream a PDF
> > into an iFrame. I've searched for a solution and come across Ernesto's
> > DocumentInlineFrame class here:
> >
> >
> >
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
> >
> > Since IResourceListener is no longer a part of Wicket 8, I've modified
> the
> > class in these ways:
> > 1) The class implements IRequestListener
> > 2) Return urlForListener(null) in getURL()
> > 3) Renamed onResourceRequested() to onRequest()
> >
> > But I'm getting an error:
> > ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error
> occurred
> > java.lang.IllegalStateException: Committed
> >
> > The code and full stack trace are below. Any ideas on what I'm doing
> wrong?
> >
> > Thanks,
> > Ben
> >
> > /*** CODE ***/
> > public class DocumentInlineFrame extends WebMarkupContainer implements
> > *IRequestListener* {
> > private static final long serialVersionUID = 1 L;
> >
> > private IResource documentResource;
> >
> > /**
> > * Constructor receiving an IResourceStream..
> > *
> > * @param id
> > * @param stream
> > */
> > public DocumentInlineFrame(String id, IResourceStream stream) {
> > this(id, new ResourceStreamResource(stream));
> > }
> >
> > /**
> > * Constructor receiving an IResource..
> > *
> > * @param id
> > * @param resourceListener
> > */
> > public DocumentInlineFrame(final String id, IResource
> documentResource)
> > {
> > super(id);
> > this.documentResource = documentResource;
> > }
> >
> > /**
> > * Gets the url to use for this link.
> > *
> > * @return The URL that this link links to
> > */
> > protected CharSequence getURL() {
> > //return urlForListener(new PageParameters());
> > *return urlForListener(null);*
> > }
> >
> > /**
> > * Handles this frame's tag.
> > *
> > * @param tag the component tag
> > * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
> > */
> > @Override
> > protected void onComponentTag(final ComponentTag tag) {
> > checkComponentTag(tag, "iframe");
> >
> > // Set href to link to this frame's frameRequested method
> > CharSequence url = getURL();
> >
> > // generate the src attribute
> > tag.put("src", Strings.replaceAll(url, "&", "&"));
> >
> > super.onComponentTag(tag);
> > }
> >
> > @Override
> > protected boolean getStatelessHint() {
> > return false;
> > }
> >
> > @Override
> > public void onRequest() {
> >
> >
> > *RequestCycle requestCycle = RequestCycle.get(); Attributes
> > attributes = new Attributes(requestCycle.getRequest(),
> > requestCycle.getResponse(), null);
> > this.documentResource.respond(attributes);*
> > }
> > }
> > /*** END CODE ***/
> >
> > /*** STACK TRACE ***/
> > Aug 22 12:37:54 WARN RequestCycleExtra -
> ********************************
> > Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
> > Unexpected error occurred
> > java.lang.IllegalStateException: Committed
> > at org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> > at
> >
> >
> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> > at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> > at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> > at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> > at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> > at
> >
> >
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> > at
> >
> >
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> > at
> >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> > at
> >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> > at
> >
> >
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > at
> >
> >
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > at
> >
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > at
> >
> >
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > at
> >
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > at
> >
> >
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > at
> >
> >
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > at
> >
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > at
> >
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > at
> > org.eclipse.jetty.io
> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > at
> >
> >
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > at
> >
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > at
> >
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > at java.lang.Thread.run(Thread.java:745)
> > Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
> > Exception retry count exceeded
> > java.lang.IllegalStateException: STREAM
> > at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> > at
> >
> >
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> > at
> >
> >
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> > at
> >
> >
> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> > at
> >
> >
> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> > at
> >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> > at
> >
> >
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> > at
> >
> >
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> > at
> >
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> > at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > at
> >
> >
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> > at
> >
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > at
> >
> >
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> > at
> >
> >
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > at
> >
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > at org.eclipse.jetty.server.Server.handle(Server.java:503)
> > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > at
> >
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > at
> > org.eclipse.jetty.io
> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> > at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > at
> >
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > at
> >
> >
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > at
> >
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > at
> >
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > at java.lang.Thread.run(Thread.java:745)
> > /*** END STACK TRACE ***/
> >
>
>
> --
> Regards - Ernesto Reinaldo Barreiro
>
Re: Streaming a PDF into an iFrame
Posted by Ernesto Reinaldo Barreiro <re...@gmail.com>.
Hi,
Thanks for reporting this. I will fix the example and adapt it to wicket
8.x.
On Thu, Aug 22, 2019 at 11:05 PM Benjamin Chew <bc...@smarthealth.com>
wrote:
> Hi,
>
> I'm pretty new to Wicket, and am trying to figure out how to stream a PDF
> into an iFrame. I've searched for a solution and come across Ernesto's
> DocumentInlineFrame class here:
>
>
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>
> Since IResourceListener is no longer a part of Wicket 8, I've modified the
> class in these ways:
> 1) The class implements IRequestListener
> 2) Return urlForListener(null) in getURL()
> 3) Renamed onResourceRequested() to onRequest()
>
> But I'm getting an error:
> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error occurred
> java.lang.IllegalStateException: Committed
>
> The code and full stack trace are below. Any ideas on what I'm doing wrong?
>
> Thanks,
> Ben
>
> /*** CODE ***/
> public class DocumentInlineFrame extends WebMarkupContainer implements
> *IRequestListener* {
> private static final long serialVersionUID = 1 L;
>
> private IResource documentResource;
>
> /**
> * Constructor receiving an IResourceStream..
> *
> * @param id
> * @param stream
> */
> public DocumentInlineFrame(String id, IResourceStream stream) {
> this(id, new ResourceStreamResource(stream));
> }
>
> /**
> * Constructor receiving an IResource..
> *
> * @param id
> * @param resourceListener
> */
> public DocumentInlineFrame(final String id, IResource documentResource)
> {
> super(id);
> this.documentResource = documentResource;
> }
>
> /**
> * Gets the url to use for this link.
> *
> * @return The URL that this link links to
> */
> protected CharSequence getURL() {
> //return urlForListener(new PageParameters());
> *return urlForListener(null);*
> }
>
> /**
> * Handles this frame's tag.
> *
> * @param tag the component tag
> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
> */
> @Override
> protected void onComponentTag(final ComponentTag tag) {
> checkComponentTag(tag, "iframe");
>
> // Set href to link to this frame's frameRequested method
> CharSequence url = getURL();
>
> // generate the src attribute
> tag.put("src", Strings.replaceAll(url, "&", "&"));
>
> super.onComponentTag(tag);
> }
>
> @Override
> protected boolean getStatelessHint() {
> return false;
> }
>
> @Override
> public void onRequest() {
>
>
> *RequestCycle requestCycle = RequestCycle.get(); Attributes
> attributes = new Attributes(requestCycle.getRequest(),
> requestCycle.getResponse(), null);
> this.documentResource.respond(attributes);*
> }
> }
> /*** END CODE ***/
>
> /*** STACK TRACE ***/
> Aug 22 12:37:54 WARN RequestCycleExtra - ********************************
> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
> Unexpected error occurred
> java.lang.IllegalStateException: Committed
> at org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> at
>
> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> at
>
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> at
>
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> at
>
> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> at
>
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> at
>
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> at
>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> at
>
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> at
>
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> at
>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> at
>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> at
>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> at
>
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> at
> org.eclipse.jetty.io
> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> at
>
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:745)
> Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
> Exception retry count exceeded
> java.lang.IllegalStateException: STREAM
> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> at
>
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> at
>
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> at
>
> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> at
>
> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> at
>
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> at
>
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> at
>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> at
>
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> at
>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> at
>
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> at
>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> at
>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> at
>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> at
>
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> at
> org.eclipse.jetty.io
> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> at
>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> at
>
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:745)
> /*** END STACK TRACE ***/
>
--
Regards - Ernesto Reinaldo Barreiro
Re: Streaming a PDF into an iFrame
Posted by Sven Meier <sv...@meiers.net>.
Hi Ben,
great that you've solved the issue already.
Indeed, with that method you tell Wicket not to schedule an AjaxRequestHandler.
Sven
Am 23. August 2019 00:30:26 MESZ schrieb Benjamin Chew <bc...@smarthealth.com>:
>I solved this! I added this to the class and it worked:
>
>@Override
>public boolean rendersPage() {
> return false;
>}
>
>Thanks,
>Ben
>
>
>On Thu, Aug 22, 2019 at 1:33 PM Benjamin Chew <bc...@smarthealth.com>
>wrote:
>
>> I forgot to add that this iframe is loaded in an ajax modal of base
>class
>> GenericPanel.
>>
>> Thanks,
>> Ben
>>
>>
>> On Thu, Aug 22, 2019 at 1:04 PM Benjamin Chew <bc...@smarthealth.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I'm pretty new to Wicket, and am trying to figure out how to stream
>a PDF
>>> into an iFrame. I've searched for a solution and come across
>Ernesto's
>>> DocumentInlineFrame class here:
>>>
>>>
>>>
>https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>>>
>>> Since IResourceListener is no longer a part of Wicket 8, I've
>modified
>>> the class in these ways:
>>> 1) The class implements IRequestListener
>>> 2) Return urlForListener(null) in getURL()
>>> 3) Renamed onResourceRequested() to onRequest()
>>>
>>> But I'm getting an error:
>>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error
>>> occurred
>>> java.lang.IllegalStateException: Committed
>>>
>>> The code and full stack trace are below. Any ideas on what I'm doing
>>> wrong?
>>>
>>> Thanks,
>>> Ben
>>>
>>> /*** CODE ***/
>>> public class DocumentInlineFrame extends WebMarkupContainer
>implements
>>> *IRequestListener* {
>>> private static final long serialVersionUID = 1 L;
>>>
>>> private IResource documentResource;
>>>
>>> /**
>>> * Constructor receiving an IResourceStream..
>>> *
>>> * @param id
>>> * @param stream
>>> */
>>> public DocumentInlineFrame(String id, IResourceStream stream) {
>>> this(id, new ResourceStreamResource(stream));
>>> }
>>>
>>> /**
>>> * Constructor receiving an IResource..
>>> *
>>> * @param id
>>> * @param resourceListener
>>> */
>>> public DocumentInlineFrame(final String id, IResource
>>> documentResource) {
>>> super(id);
>>> this.documentResource = documentResource;
>>> }
>>>
>>> /**
>>> * Gets the url to use for this link.
>>> *
>>> * @return The URL that this link links to
>>> */
>>> protected CharSequence getURL() {
>>> //return urlForListener(new PageParameters());
>>> *return urlForListener(null);*
>>> }
>>>
>>> /**
>>> * Handles this frame's tag.
>>> *
>>> * @param tag the component tag
>>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>>> */
>>> @Override
>>> protected void onComponentTag(final ComponentTag tag) {
>>> checkComponentTag(tag, "iframe");
>>>
>>> // Set href to link to this frame's frameRequested method
>>> CharSequence url = getURL();
>>>
>>> // generate the src attribute
>>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>>
>>> super.onComponentTag(tag);
>>> }
>>>
>>> @Override
>>> protected boolean getStatelessHint() {
>>> return false;
>>> }
>>>
>>> @Override
>>> public void onRequest() {
>>>
>>>
>>> *RequestCycle requestCycle = RequestCycle.get(); Attributes
>>> attributes = new Attributes(requestCycle.getRequest(),
>>> requestCycle.getResponse(), null);
>>> this.documentResource.respond(attributes);*
>>> }
>>> }
>>> /*** END CODE ***/
>>>
>>> /*** STACK TRACE ***/
>>> Aug 22 12:37:54 WARN RequestCycleExtra -
>>> ********************************
>>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
>>> Unexpected error occurred
>>> java.lang.IllegalStateException: Committed
>>> at
>org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
>>> at
>>>
>org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
>>> at
>org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
>>> at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
>>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
>>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
>>> at
>>>
>org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
>>> at
>>>
>org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>>> at
>>>
>org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
>>> at
>>>
>org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
>>> at
>>>
>org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>> at
>>>
>org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>> at
>>>
>org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>> at
>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>> at
>>>
>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>> at
>>>
>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>> at
>>>
>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>> at
>>>
>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>> at
>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>> at
>>>
>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>> at
>>>
>org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>> at
>org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>> at
>>>
>org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>> at
>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>> at
>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle
>-
>>> Exception retry count exceeded
>>> java.lang.IllegalStateException: STREAM
>>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
>>> at
>>>
>org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
>>> at
>>>
>org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
>>> at
>>>
>org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
>>> at
>>>
>org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
>>> at
>>>
>org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
>>> at
>>>
>org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>>> at
>>>
>org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
>>> at
>>>
>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>>> at
>>>
>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>> at
>>>
>org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>>> at
>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>> at
>>>
>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>> at
>>>
>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>> at
>>>
>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>> at
>>>
>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>> at
>>>
>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>>> at
>>>
>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>> at
>>>
>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>> at
>>>
>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>> at
>>>
>org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>> at
>org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>> at
>>>
>org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>> at
>>>
>org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>> at
>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>> at
>>>
>org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>> at java.lang.Thread.run(Thread.java:745)
>>> /*** END STACK TRACE ***/
>>>
>>
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
I solved this! I added this to the class and it worked:
@Override
public boolean rendersPage() {
return false;
}
Thanks,
Ben
On Thu, Aug 22, 2019 at 1:33 PM Benjamin Chew <bc...@smarthealth.com> wrote:
> I forgot to add that this iframe is loaded in an ajax modal of base class
> GenericPanel.
>
> Thanks,
> Ben
>
>
> On Thu, Aug 22, 2019 at 1:04 PM Benjamin Chew <bc...@smarthealth.com>
> wrote:
>
>> Hi,
>>
>> I'm pretty new to Wicket, and am trying to figure out how to stream a PDF
>> into an iFrame. I've searched for a solution and come across Ernesto's
>> DocumentInlineFrame class here:
>>
>>
>> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>>
>> Since IResourceListener is no longer a part of Wicket 8, I've modified
>> the class in these ways:
>> 1) The class implements IRequestListener
>> 2) Return urlForListener(null) in getURL()
>> 3) Renamed onResourceRequested() to onRequest()
>>
>> But I'm getting an error:
>> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error
>> occurred
>> java.lang.IllegalStateException: Committed
>>
>> The code and full stack trace are below. Any ideas on what I'm doing
>> wrong?
>>
>> Thanks,
>> Ben
>>
>> /*** CODE ***/
>> public class DocumentInlineFrame extends WebMarkupContainer implements
>> *IRequestListener* {
>> private static final long serialVersionUID = 1 L;
>>
>> private IResource documentResource;
>>
>> /**
>> * Constructor receiving an IResourceStream..
>> *
>> * @param id
>> * @param stream
>> */
>> public DocumentInlineFrame(String id, IResourceStream stream) {
>> this(id, new ResourceStreamResource(stream));
>> }
>>
>> /**
>> * Constructor receiving an IResource..
>> *
>> * @param id
>> * @param resourceListener
>> */
>> public DocumentInlineFrame(final String id, IResource
>> documentResource) {
>> super(id);
>> this.documentResource = documentResource;
>> }
>>
>> /**
>> * Gets the url to use for this link.
>> *
>> * @return The URL that this link links to
>> */
>> protected CharSequence getURL() {
>> //return urlForListener(new PageParameters());
>> *return urlForListener(null);*
>> }
>>
>> /**
>> * Handles this frame's tag.
>> *
>> * @param tag the component tag
>> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
>> */
>> @Override
>> protected void onComponentTag(final ComponentTag tag) {
>> checkComponentTag(tag, "iframe");
>>
>> // Set href to link to this frame's frameRequested method
>> CharSequence url = getURL();
>>
>> // generate the src attribute
>> tag.put("src", Strings.replaceAll(url, "&", "&"));
>>
>> super.onComponentTag(tag);
>> }
>>
>> @Override
>> protected boolean getStatelessHint() {
>> return false;
>> }
>>
>> @Override
>> public void onRequest() {
>>
>>
>> *RequestCycle requestCycle = RequestCycle.get(); Attributes
>> attributes = new Attributes(requestCycle.getRequest(),
>> requestCycle.getResponse(), null);
>> this.documentResource.respond(attributes);*
>> }
>> }
>> /*** END CODE ***/
>>
>> /*** STACK TRACE ***/
>> Aug 22 12:37:54 WARN RequestCycleExtra -
>> ********************************
>> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
>> Unexpected error occurred
>> java.lang.IllegalStateException: Committed
>> at org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
>> at
>> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
>> at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
>> at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
>> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
>> at
>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
>> at
>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>> at
>> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
>> at
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
>> at
>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>> at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>> at
>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>> at
>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>> at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>> at
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>> at java.lang.Thread.run(Thread.java:745)
>> Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
>> Exception retry count exceeded
>> java.lang.IllegalStateException: STREAM
>> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
>> at
>> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
>> at
>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
>> at
>> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
>> at
>> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
>> at
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
>> at
>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
>> at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>> at
>> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>> at
>> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>> at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>> at
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>> at java.lang.Thread.run(Thread.java:745)
>> /*** END STACK TRACE ***/
>>
>
Re: Streaming a PDF into an iFrame
Posted by Benjamin Chew <bc...@smarthealth.com>.
I forgot to add that this iframe is loaded in an ajax modal of base class
GenericPanel.
Thanks,
Ben
On Thu, Aug 22, 2019 at 1:04 PM Benjamin Chew <bc...@smarthealth.com> wrote:
> Hi,
>
> I'm pretty new to Wicket, and am trying to figure out how to stream a PDF
> into an iFrame. I've searched for a solution and come across Ernesto's
> DocumentInlineFrame class here:
>
>
> https://github.com/reiern70/antilia-bits/blob/master/content-iframe/src/main/java/com/antilia/iframe/DocumentInlineFrame.java
>
> Since IResourceListener is no longer a part of Wicket 8, I've modified the
> class in these ways:
> 1) The class implements IRequestListener
> 2) Return urlForListener(null) in getURL()
> 3) Renamed onResourceRequested() to onRequest()
>
> But I'm getting an error:
> ERROR org.apache.wicket.DefaultExceptionMapper - Unexpected error occurred
> java.lang.IllegalStateException: Committed
>
> The code and full stack trace are below. Any ideas on what I'm doing wrong?
>
> Thanks,
> Ben
>
> /*** CODE ***/
> public class DocumentInlineFrame extends WebMarkupContainer implements
> *IRequestListener* {
> private static final long serialVersionUID = 1 L;
>
> private IResource documentResource;
>
> /**
> * Constructor receiving an IResourceStream..
> *
> * @param id
> * @param stream
> */
> public DocumentInlineFrame(String id, IResourceStream stream) {
> this(id, new ResourceStreamResource(stream));
> }
>
> /**
> * Constructor receiving an IResource..
> *
> * @param id
> * @param resourceListener
> */
> public DocumentInlineFrame(final String id, IResource
> documentResource) {
> super(id);
> this.documentResource = documentResource;
> }
>
> /**
> * Gets the url to use for this link.
> *
> * @return The URL that this link links to
> */
> protected CharSequence getURL() {
> //return urlForListener(new PageParameters());
> *return urlForListener(null);*
> }
>
> /**
> * Handles this frame's tag.
> *
> * @param tag the component tag
> * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
> */
> @Override
> protected void onComponentTag(final ComponentTag tag) {
> checkComponentTag(tag, "iframe");
>
> // Set href to link to this frame's frameRequested method
> CharSequence url = getURL();
>
> // generate the src attribute
> tag.put("src", Strings.replaceAll(url, "&", "&"));
>
> super.onComponentTag(tag);
> }
>
> @Override
> protected boolean getStatelessHint() {
> return false;
> }
>
> @Override
> public void onRequest() {
>
>
> *RequestCycle requestCycle = RequestCycle.get(); Attributes
> attributes = new Attributes(requestCycle.getRequest(),
> requestCycle.getResponse(), null);
> this.documentResource.respond(attributes);*
> }
> }
> /*** END CODE ***/
>
> /*** STACK TRACE ***/
> Aug 22 12:37:54 WARN RequestCycleExtra - ********************************
> Aug 22 12:37:54 ERROR org.apache.wicket.DefaultExceptionMapper -
> Unexpected error occurred
> java.lang.IllegalStateException: Committed
> at org.eclipse.jetty.server.HttpChannel.resetBuffer(HttpChannel.java:894)
> at
> org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer(HttpOutput.java:116)
> at org.eclipse.jetty.server.HttpOutput.resetBuffer(HttpOutput.java:959)
> at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1312)
> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:720)
> at org.eclipse.jetty.server.Response.sendRedirect(Response.java:729)
> at
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:288)
> at
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:161)
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:280)
> at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> at
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:745)
> Aug 22 12:37:54 ERROR org.apache.wicket.request.cycle.RequestCycle -
> Exception retry count exceeded
> java.lang.IllegalStateException: STREAM
> at org.eclipse.jetty.server.Response.getWriter(Response.java:931)
> at
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:110)
> at
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:179)
> at
> org.apache.wicket.protocol.http.BufferedWebResponse$WriteCharSequenceAction.invoke(BufferedWebResponse.java:171)
> at
> org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:602)
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:198)
> at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
> at
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:327)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:335)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:259)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:503)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:745)
> /*** END STACK TRACE ***/
>