Thanks Alex,
Latest news:
1. I don't have any problem when I access Tomcat (Cocoon) directly.
2. I have problems only when I access Cocoon via Apache HTTPD front-end.
By somehow, HTTPD converts user's request /CD%20%2B%20DVD/ into
/CD%20+%20DVD/. Of cource, Tomcat (and Cocoon) misunderstands it as
/CD+++DVD/, or /CD DVD/
It's most probably bug in AJP/1.3, not related to Cocoon...
As a workaround, I use java.lang.String(...).replaceAll("+","%2B") before
forwarding request to another pipeline...
-----Original Message-----
From: Alexander Klimetschek [mailto:[EMAIL PROTECTED]
Sent: Monday, February 05, 2007 4:08 AM
To: [email protected]
Subject: Re: URI decoding problem
Fuad Efendi schrieb:
> API Docs are probably with typo:
> * <map:generate
>
src="http://remote/page?param1={url-encode:{request-param:param1}}"/><br/
>
> public final class URLDecodeModule extends AbstractInputModule
> implements ThreadSafe {
>
>
> {url-decode:...}? instead of url-encode?
>
>
Depends on what you are doing. The example above
(http://remote/page?param1={url-encode:{request-param:param1}}) makes a http
call from inside Cocoon and uses a parameter of the original request
"{request-param:param1}". This request parameter is already decoded,
depending on the standard encoding of the servlet container and Cocoon's
encoding settings:
org.apache.cocoon.containerencoding=utf-8
org.apache.cocoon.formencoding=utf-8
(Default value is actually ISO-8859-1, for more information see [1])
For the new request those have to be re-encoded again, that's why there is
"{url-encode:....}" in the example.
If you don't get correctly decoded request parameters, try to set those
encoding properties, the mentioned wiki page should help).
Alex
[1] http://wiki.apache.org/cocoon/RequestParameterEncoding
--
Alexander Klimetschek
http://www.mindquarry.com