[opencms-dev] CmsFlexRequest severely broken

Wolfgang Illmeyer wolfgang.illmeyer at gmx.net
Sun Apr 20 05:39:15 CEST 2008


Hi.
I have a problem with Servlets in OpenCMS 7. For caching, it replaces whatever 
HttpServletRequest object the Container provides with a "CmsFlexRequest".
However, CmsFlexRequest breaks the HttpServletRequest design contract by 
calling the getParameterMap()-function in it's constructor. This effectively 
breaks 
<fmt:requestEncoding/>/request.setCharacterEncoding()/getInputStream()/... 
functionality and makes it impossible for me to correctly retrieve a request 
from an external resource (I need utf-8 standard charset, but I get a 
POST-Request from a PDF-File in iso8859-1 format).
I tried to fiddle around a bit with the source code of CmsFlexRequest to make 
it stop reading parameters when it MUST NOT, but i only managed to break the 
opencms login form yet ;)
Caching isn't needed on a POST Request anyways, is it? Maybe it can be changed 
to use real HttpServletRequest(Wrapper)s for POST requests on the long run?

Any idea how I can "quick fix" that problem? Changing the pdf charset to utf-8 
doesn't seem to be an option, as I don't know any software that can change 
the charset in an existing pdf form. Also, once the ISO8859-1-Characters are 
interpreted as UTF-8, there's no way to convert them back without data 
loss....


Greetings

Wolfgang



More information about the opencms-dev mailing list