You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Eric Gulatee (JIRA)" <ji...@apache.org> on 2009/11/02 16:16:59 UTC
[jira] Commented: (WICKET-2387) Failure using a Redirect strategy
in a Websphere Portal 6.1 Portlet due to response already committed
[ https://issues.apache.org/jira/browse/WICKET-2387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772533#action_12772533 ]
Eric Gulatee commented on WICKET-2387:
--------------------------------------
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.