We have a related ticket in our jira:
http://jira.magnolia-cms.com/browse/MAGNOLIA-3014
The solution Gregory proposed might be save enough to be applied in the next
bug fix release.
Philipp
On 26.04.2010, at 14:41, Thomas Martin wrote:
>
> Hello Magnolians
>
> I have to pick up this old thread since I'm currently fighting the same
> battle.
>
>
> I'm rather unsure about the possible solutions Jan promoted:
>
> 1. "either find out which filter/servlet called it and disable it or put your
> servlet in front of it"
>
> -> I'm not sure how I would find the filter/servlet that called it other than
> wading through the source - however even if I'd know which one it was,
> disabling seems not to be an option since I might wreck some general
> functionality.
> For the "put your servlet in front" bit: I figured the only way making the
> subtemplating work is to define the servlet in the web.xml - there I put it
> at the very beginning which did not change anything. And even if it would be
> called first wouldn't that mean that the exception would just get thrown
> further down the road?
>
>
> 2. "or use getWriter() method and work with a writer in your servlet rather
> then with OutputStream ... There are wrappers around that let you wrap Writer
> into OutputStream and vice-versa so you can use that to work around the issue"
> -> I was looking around the web for some time now but could not find anything
> - so if you have a concrete pointer I would appreciate it very much!
>
>
> Now what I tried furthermore is to simply reset the response prior to
> generate by PDF output through "response.reset();". This worked fine
> (although I'm not fond at all with this idea) until I activated the cache.
> Then I hit the following exception:
>
> 2010-04-26 08:35:53,988 DEBUG ch.tmit.PdfWriterStandard :
> Generating output for :textAndImage
> 2010-04-26 08:35:53,994 ERROR info.magnolia.module.cache.executor.Store
> : Failed to process cache request : Can't get Last-Modified header : no or
> multiple values : null
> java.lang.IllegalStateException: Can't get Last-Modified header : no or
> multiple values : null
> at
> info.magnolia.module.cache.filter.CacheResponseWrapper.getLastModified(CacheResponseWrapper.java:139)
> at
> info.magnolia.module.cache.executor.Store.makeCachedEntry(Store.java:161)
> at
> info.magnolia.module.cache.executor.Store.processCacheRequest(Store.java:115)
>
>
> I know that these are all just dangling loose ends - but I really hit a dead
> end here and need a way to get this running again.
>
> Many thanks for any help!
> Cheers, Thomas
>
>
> On 15.07.2009, at 23:21, Jan Haderka wrote:
>
>>
>> On Wed, 2009-07-15 at 22:58 +0200, Tobias Reinhardt wrote:
>>> Hi
>>>
>>> I am trying to output a PDF with a template of type servlet. I get the
>>> "getWriter() has already been called for this response" Error when I
>>
>> I think the message is pretty clear ... the getWriter() method has been
>> already called. You can't use both getOutputStream() and getWriter() on
>> the response ... it seems in 4.1 some filter or servlet executed before
>> your servlet has already called getWriter() on the response so you can't
>> use getOutputStream() anymore ... either find out which filter/servlet
>> called it and disable it or put your servlet in front of it ... or use
>> getWriter() method and work with a writer in your servlet rather then
>> with OutputStream ... There are wrappers around that let you wrap Writer
>> into OutputStream and vice-versa so you can use that to work around the
>> issue.
>>
>> HTH,
>> Jan
>>> call response.getOutputStream(). I reduced the servlet to the bare
>>> minimum.
>>>
>>> public class TestServlet extends HttpServlet {
>>> public void doGet(HttpServletRequest request, HttpServletResponse
>>> response) throws IOException, ServletException {
>>> response.getOutputStream();
>>> }
>>> }
>>>
>>> This servlet does generate the error on 4.1, but it does not generate
>>> an error on 3.6.5.
>>>
>>> Any ideas?
>>>
>>> Tobias
>>>
>>> ----------------------------------------------------------------
>>> For list details see
>>> http://www.magnolia-cms.com/home/community/mailing-lists.html
>>> To unsubscribe, E-mail to: <[email protected]>
>>> ----------------------------------------------------------------
>> --
>> Best regards,
>>
>> Jan Haderka
>> Magnolia International Ltd.
>>
>> Meet us at the Magnolia Conference
>> http:/www.magnolia-cms.com/conference
>>
>> Magnolia® - Simple Open Source Content Management
>>
>>
>> ----------------------------------------------------------------
>> For list details see
>> http://www.magnolia-cms.com/home/community/mailing-lists.html
>> To unsubscribe, E-mail to: <[email protected]>
>> ----------------------------------------------------------------
>>
>
>
> ----------------------------------------------------------------
> For list details see
> http://www.magnolia-cms.com/home/community/mailing-lists.html
> To unsubscribe, E-mail to: <[email protected]>
> ----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------