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

Reply via email to