I know this should be targeted more to cocoon-users but I believe this would be 
interesting also for developers.

Two types of portlet requests are handled by CocoonPortlet in methods: 
        processAction(request, response)
        render(request, response). 

Speciallity of handling ACTION request is that it MUST NOT touch PortletOutputStream 
or set content type in PortletResponse. This is the task for following render request 
that comes from portlet container right after action request. 

In Cocoon both request types are handled very similar; by sitemap. As a result 
following excetptions are thrown in action request:
        java.lang.IllegalStateException: Operation 'getOutputStream' is not supported 
by 'org.apache.cocoon.environment.portlet.ActionResponse'
        java.lang.IllegalStateException: Operation 'setContentType' is not supported 
by 'org.apache.cocoon.environment.portlet.ActionResponse'

I wonder how is it possible to create sitemap construction that does not touch 
outputstream and content type of response at all.

Thank you for any ideas,
Michal

Reply via email to