Re: Percent encoded string in @QueryParam

2016-03-04 Thread Sergey Beryozkin
Please forget about CXF proxies. It is down to UriBuilder. http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/UriBuilder.html states: 'Percent encoded values are also recognized where allowed and will not be double encoded.' Such values are allowed in the query representations. The

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Sergey Beryozkin
I see a test like this: @Test public void testClonePctEncoded() throws Exception { URI uri = new URI("http://bar;); URI newUri = new UriBuilderImpl(uri) .path("{a}").path("{b}") .matrixParam("m", "m1 ", "m2+%20") .queryParam("q", "q1 ",

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Volkov Sergey
i.e CXF proxy do not urlencode parameters? (Instead of it use org.apache.cxf.jaxrs.utils.HttpUtils#encodePartiallyEncoded encoding which is not reversible) And the only reason of this encoding is to avoid reports about correctly encoded parameters? As I said, CXF proxy runtime uses JAX-RS

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Sergey Beryozkin
Can you experiment with JAX-RS RI UriBuilder and double check that passing to it a query parameter like "%DE" will not encode it ? I'm pretty sure they won't. I have done a lot of work with UriBuilder to make sure it passed JAX-RS 1.1 and the early 2.0 TCK that was available to Apache. So I'd

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Sergey Beryozkin
As I said, CXF proxy runtime uses JAX-RS UriBuilder. And UriBuilder does not touch valid percent-encoded representations. And this is how the RS client runtime will continue operating. Sergey On 04/03/16 10:45, Volkov Sergey wrote: "100%25BETTER VALID STRING" instead of "100%BETTER

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Volkov Sergey
Actually correctly encoded strings are 100%25BETTER+VALID+STRING and "100%25VALID+STRING" 2016-03-04 13:45 GMT+03:00 Volkov Sergey : > "100%25BETTER VALID STRING" >> >> instead of >> >> "100%BETTER VALID STRING" >> > > "100%25BETTER VALID STRING" is correct way to

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Volkov Sergey
> > "100%25BETTER VALID STRING" > > instead of > > "100%BETTER VALID STRING" > "100%25BETTER VALID STRING" is correct way to urlencode "100%BETTER VALID STRING" - so actually CXF is over-smart now, when it skips all %xx sequence instead of encode % as %25 "100%VALID STRING" at the moment encodes

Re: Percent encoded string in @QueryParam

2016-03-04 Thread Sergey Beryozkin
In the former case it it has no characters that can be used to form the hex %-encoded representations. The bottom line is, you should not expect the runtime auto-encode '%' given that this symbol plays a special role in having correct URIs being created. If CXF will try to me over-smart