Ok taking care of the Form params with CustomFormEncodingProvider 
by stepping on the populateMap. 
public class CustomFormEncodingProvider extends FormEncodingProvider
Trying this now..

The queryHandler is less clear which base class to use for a provider,
could you tell which one handles it by default?

Also, please email me when the core utils' fixes are released 
(if you are the one to know this)

Thanks,
-Vitaly


Sergey Beryozkin-2 wrote:
> 
> 
> 
>>
>> It looks to me that there are two places at least where this needs to be
>> fixed:
>> 1. the JAXRSUtils line 926 - the key needs to be decoded
>> currently:
>> queries.add(values[0], value);
>>
>> fix would be:
>> queries.add(HttpUtils.urlDecode(values[0]), value);
> 
> Yes, fixed on mainline
> 
>>
>> 2. Somewhere in the JAXRS UNMARSHAL phase we need to decode form params
>> looks like before or inside the JAXRSInInterceptor.
>>
> 
> Do you mean form parameter names ? If yes then it's also fixed now. The
> values are already decoded by default.
> 
>> Do you know how can I replace JAXRSUtils with my version until the Fix is
>> made in CXF itself?
> 
> Why would you need to do it ? Registering custom RequestHandler will
> wprovide a temp fix for the issue with decoding query names.
> There're couple of workarounds for dealing with encoded form parameter
> names too. The simplest one is to register a custom JAX-RS 
> provider for handling form submissions (see FormEncodingProvider). A more
> involved approach is to register a servlet filter and 
> consume the request body and set form name/value pairs as http request
> parameters, something Spring Security does for ex in some 
> cases...
> 
> cheers, Sergey
> 
>>
>> Thanks,
>> -Vitaly
>>
>>
>> Sergey Beryozkin-2 wrote:
>>>
>>>>
>>>> Thanks Sergey,
>>>> Could you tell how to register a custom requestFilter - I have not done
>>>> that
>>>> yet..
>>>
>>> You can register it as a regular jaxrs:provider.
>>> cheers, Sergey
>>>
>>>
>>>>
>>>>
>>>> Sergey Beryozkin-2 wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> If you're referring to the fact that you can not use say a JAXRS
>>>>> QueryParam("principal.password") then yes, it's a bug which will be
>>>>> fixed shortly...At the moment only the values are decoded (by
>>>>> default).
>>>>> Assuming it is the case, the workaround is to register a
>>>>> custom RequestFilter which will replace the current Message's
>>>>> QUERY_STRING
>>>>> as needed for QueryParam("principal.password") (or for
>>>>> QueryParam("")) work well . Is it something you'd consider ?
>>>>>
>>>>> cheers Sergey
>>>>>
>>>>>>
>>>>>> Example Flex code using HTTPService:
>>>>>> var params:Object = {};
>>>>>> params["principal.username"] = this.idUsername.text;
>>>>>> params["password"] = this.idPassword.text;
>>>>>> svcRequest.url = this.idUrl.text + "/services/v1/rest/Auth/login";
>>>>>> svcRequest.send(params);
>>>>>>
>>>>>> The above produces this HTTP request on the wire:
>>>>>>
>>>>>> GET
>>>>>> /services/v1/rest/Auth/login?principal%2Eusername=dude&password=1234
>>>>>> HTTP/1.1
>>>>>>
>>>>>> The CXF server side expecting principal.username fails to undecode
>>>>>> and
>>>>>> as
>>>>>> a
>>>>>> result principal
>>>>>> object is not initialized.
>>>>>>
>>>>>> Any ideas?
>>>>>>
>>>>>> Thanks,
>>>>>> -Vitaly
>>>>>>
>>>>>> -- 
>>>>>> View this message in context:
>>>>>> http://old.nabble.com/Adobe-Flex-HTTPService-escapes-dot-with--2e-breaking-CXF-logic-on-the-server-tp26719627p26719627.html
>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context:
>>>> http://old.nabble.com/Adobe-Flex-HTTPService-escapes-dot-with--2e-breaking-CXF-logic-on-the-server-tp26719627p26728068.html
>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context: 
>> http://old.nabble.com/Adobe-Flex-HTTPService-escapes-dot-with--2e-breaking-CXF-logic-on-the-server-tp26719627p26731299.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>> 
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Adobe-Flex-HTTPService-escapes-dot-with--2e-breaking-CXF-logic-on-the-server-tp26719627p26732567.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to