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/>