[ 
https://issues.apache.org/jira/browse/WICKET-2387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772533#action_12772533
 ] 

Eric Gulatee edited comment on WICKET-2387 at 11/2/09 3:19 PM:
---------------------------------------------------------------

I have tried to get further details from IBM, I attach them below.  
-----------------------------------------------------------------------------

Q: I am not sure what you mean by resource serving?                     
                                                                        
A: Resource Serving is a feature of the JSR 286 spec (see PLT.13).       
Basically designed to give a portlet the possiblity to e.g. stream       
resources like files or AJAX responses with full control over the       
response.                                                               

Q: PTL 2.0 Section 11.1.4.3 seems to indicate that we should be able     
to                                                                       
set headers in the render phase. (As you indicate)                       
Can you please clarify that this is indeed a mandatory aspect of the     
Portlet 2.0 specification and not an optional part?                     
                                                                        
A: This feature is not implemented in Portal 6.1. It's not completly     
optional according to the spec but a Portal implementation can forbid   
the setting of headers e.g. for security reasons. See "PLT.12.1.1       
Response Properties".                                     




      was (Author: egulatee):
    I have tried to get further details from IBM, I attach them below.  


Q: PTL 2.0 Section 11.1.4.3 seems to indicate that we should be able     
to                                                                       
set headers in the render phase. (As you indicate)                       
Can you please clarify that this is indeed a mandatory aspect of the     
Portlet 2.0 specification and not an optional part?                     
                                                                        
A: This feature is not implemented in Portal 6.1. It's not completly     
optional according to the spec but a Portal implementation can forbid   
the setting of headers e.g. for security reasons. See "PLT.12.1.1       
Response Properties".                                     



  
> Failure using a Redirect strategy in a Websphere Portal 6.1 Portlet due to 
> response already committed
> -----------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-2387
>                 URL: https://issues.apache.org/jira/browse/WICKET-2387
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4.3
>         Environment: IBM Java 1.5, WebSphere 6.1
>            Reporter: Eric Gulatee
>            Assignee: Ate Douma
>
> When the following Authorization Stategy is set for in a WPS 6.1 Portlet
>  getSecuritySettings().setAuthorizationStrategy(new IAuthorizationStrategy() {
>             public boolean isInstantiationAuthorized(Class componentClass) {
>                 if 
> (AuthenticatedWebPage.class.isAssignableFrom(componentClass)) {
>                     if (((SignInSession) Session.get()).isSignedIn()) {
>                         return true;
>                     }
>                     throw new 
> RestartResponseAtInterceptPageException(SignInPage.class);
>                 }
>                 return true;
>                 
>             }
>             public boolean isActionAuthorized(Component component, Action 
> action) {
>                 return true;
>             }
>         });
> We get the following stacktrace
> aused by: java.lang.IllegalStateException: clearBuffer(): illegal       
> state--> stream is committed                                             
> at                                                                       
> com.ibm.wsspi.webcontainer.util.BufferedServletOutputStream.clearBuffer( 
> BufferedServletOutputStream.java:497)                                     
> at                                                                       
> com.ibm.ws.webcontainer.srt.SRTServletResponse.reset(SRTServletResponse. 
> java:880)                                                                 
> at                                                                       
> javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:   
> 228)                                                                     
> at                                                                       
> javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:   
> 228)                                                                     
> at                                                                       
> javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:   
> 228)                                                                     
> at                                                                       
> javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:   
> 228)                                                                     
> at                                                                       
> com.ibm.ws.portletcontainer.core.impl.PortletResponseImpl.reset(PortletR 
> esponseImpl.java:355)                                                     
> at                                                                       
> org.apache.wicket.protocol.http.portlet.OSCWicketPortlet.processMimeResp 
> onseRequest(OSCWicketPortlet.java:138)                                   
> at                                                                       
> org.apache.wicket.protocol.http.portlet.OSCWicketPortlet.processRequest( 
> OSCWicketPortlet.java:80)                                                 
> at                                                                       
> org.apache.wicket.protocol.http.portlet.WicketPortlet.doView(WicketPortl 
> et.java:469)                                                             
> at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)     
> Which IBM has determined the cause to being:
> The cause is a PortletResponse#reset() call after the response has been   
> commited. A response is for example committed after the headers were     
> written to the client.               
> I am guessing that wicket is outputting something and then deciding to do a 
> redirect thus causing the failure?  IS this something on the Wicket or 
> WAS/WPS 6.1 side?  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to