Hi,

>From the stacktrace we can see that a redirect is attempted.

org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(
WebPageRenderer.java:150)
means that a page is being rendered. And this page url is different from
the url of the previous page, so a redirect is issued.

I think your PDF request handler is not releted to the problem.


On Mon, Feb 11, 2013 at 3:25 PM, mitziuro <mitzi...@gmail.com> wrote:

> we have the following page that renders a pdf:
>
> public BillPdf(PageParameters pageParameters) {
>
>         ...
> public BillPdf(PageParameters pageParameters) {
>                 getRequestCycle().scheduleRequestHandlerAfterCurrent(
>                             new ResourceRequestHandler(new
> ByteArrayResource(MIME_PDF) {
>
>                                         private static final long
> serialVersionUID = -6932336945497418950L;
>                                         private byte[] pdfData = null;
>
>                                          @Override
>                                          protected  byte[]
>  getData(IResource.Attributes attributes){
>                                                  ...
>                                                  return pdfData;
>                                          }
>
>                                          @Override
>                                          protected void
> configureResponse(AbstractResource.ResourceResponse
> response, IResource.Attributes attributes) {
>
>  response.setContentDisposition(ContentDisposition.INLINE);
>
>  response.setContentType(MIME_PDF);
>
>  response.setContentLength(pdfData.length);
>                                          }
>
>
>                             }, pageParameters));
>         }
> }
>
> and from time to time for some pdfs we have:
>
> java.lang.IllegalStateException: Response already committed
>  at
>
> weblogic.servlet.internal.ServletResponseImpl.objectIfCommitted(ServletResponseImpl.java:1651)
>  at
>
> weblogic.servlet.internal.ServletResponseImpl.sendRedirect(ServletResponseImpl.java:871)
>  at
>
> weblogic.servlet.internal.ServletResponseImpl.sendRedirect(ServletResponseImpl.java:867)
>  at
>
> org.apache.wicket.protocol.http.servlet.ServletWebResponse.sendRedirect(ServletWebResponse.java:268)
>  at
>
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:117)
>  at
>
> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:150)
>  at
>
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:286)
>  at
>
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:840)
>  at
>
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:303)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:312)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:312)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:312)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:226)
>  at
>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
>  at
>
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:244)
>  at
>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
>  at
>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:267)
>  at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
>  at
>
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288)
>  at
>
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
>  at
>
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>  at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
>  at
> weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
>  at
>
> weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
>  at
>
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
>  at
>
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
>  at
>
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
>  at
>
> weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
>  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
>  at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>
> Any related treads or ideas?
>
> We're using wicket 6.0 but we've tried even with 6.5.
> The problem is in HeaderBufferingWebResponse
>
> ...
> @Override
>  public void setDateHeader(String name, Time date)
>  {
>   Args.notNull(date, "date");
>   *checkHeader();*
>   bufferedResponse.setDateHeader(name, date);
>  }
> [4:14:27 PM] Cornel Condila:  private void checkHeader()
>  {
>   if (*bufferedWritten*)
>   {
>    throw new IllegalStateException("Header was already written to
> response!");
>   }
>  }
> ....
>
> *bufferedWritten* is sometimes true;
>
>
>
>
>
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/Wicket-WebLogic-problem-tp4656235.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>

Reply via email to