[
https://issues.apache.org/jira/browse/CXF-6122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14229771#comment-14229771
]
Konrad Windszus commented on CXF-6122:
--------------------------------------
Even if I URL-encode the parameters manually it seems that CXF is rather URL
decoding the value because within any {{ClientRequestFilter}} even if calling
{{requestContext.getUri().getRawQuery()}} this does not return the URL-encoded
values.
To give you a concrete example
{code}
<UserService>.updateUser("123", "Germany", URLEncoder.encode("ÄÖÜ", "UTF-8"),
URLEncoder.encode("+49 12346 ", "UTF-8"));
{code}
This gives me the following value for {{requestContext.getUri().getRawQuery()}}
within my {{ClientRequestFilter}} :
{{country=Germany&description=ÄÖÜ&telephone=+49+12346+}}
This is the URL-decoded value! It should rather contain the originally provided
values (i.e. the encoded ones).
> JAX-RS proxy client with @QueryParam is not encoding the parameter value
> ------------------------------------------------------------------------
>
> Key: CXF-6122
> URL: https://issues.apache.org/jira/browse/CXF-6122
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 3.0.2
> Reporter: Konrad Windszus
>
> If I create a JAX-RS client with the proxy pattern outlined at
> http://cxf.apache.org/docs/jax-rs-client-api.html#JAX-RSClientAPI-Proxy-basedAPI
> and the proxy interface looks like this
> {code}
> @PUT
> @Path("/admin/user/{id}.json")
> @Produces(value = { "application/json" })
> public User updateUser(@PathParam("id") String userId,
> @QueryParam("country") String country, @QueryParam("description") String
> role, @QueryParam("telephone") String phone);
> {code}
> all URL parameters are not correctly encoded.
> E.g. if phone contains a "+" this will not be converted to %2B or if the role
> contains an umlaut this will not be encoded either.
> Another related question is: Which character set will be used here (I guess
> UTF-8 makes sense) once that bug is fixed? Also how would it be possible to
> override the character set?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)