cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: @...Param and client proxy
Date Sun, 04 Oct 2015 20:39:01 GMT
On 04/10/15 18:44, Veit Guna wrote:
> Alright. Thanks for the quick feedback!
>
> May I create a ticket for that?
>
Sure, please do open JIRA tickets whenever you spot CXF client issues

Cheers, Sergey

> Thanks
> Veit
>
> Am 04.10.2015 um 19:33 schrieb Sergey Beryozkin:
>> Hi Veit
>>
>> The client proxy code apparently does not support nested BeanParams,
>> so more work will need to be done
>>
>> Cheers, Sergey
>> On 04/10/15 19:21, Veit Guna wrote:
>>> Hi Sergey.
>>>
>>> I see. Any news about the nested @BeanParam :)?
>>>
>>> Cheers
>>> Veit
>>>
>>> Am 04.10.2015 um 19:18 schrieb Sergey Beryozkin:
>>>> Hi Veit
>>>>
>>>> The CXF server will also work the same way, the restriction is only on
>>>> the client proxy side, I've just checked a code, it should be
>>>> sufficient to have a setter - which is used to determine a possible
>>>> field candidate without having to check all the fields - this is done
>>>> on the proxy side because no caching is done so this optimization
>>>> saves some time.
>>>>
>>>> I can investigate later on if dropping this optimization can work...
>>>>
>>>> Sergey
>>>> On 04/10/15 11:12, Veit Guna wrote:
>>>>> While working around the nested @BeanParam for now, I encountered the
>>>>> fact,
>>>>> that @...Param annotations work on fields now, but somehow
>>>>> getter/setter
>>>>> for that field
>>>>> are still required. Leaving them out, will leave the value unset on
>>>>> request.
>>>>>
>>>>> On the opposite, the Jersey server is fine with fields without
>>>>> getter/setter.
>>>>>
>>>>> Is this by intention?
>>>>>
>>>>> Thanks
>>>>> Veit
>>>>>
>>>>> Am 04.10.2015 um 10:25 schrieb Veit Guna:
>>>>>> Ok, 3.0.5 seems to fix the field annotation issue - nice :).
>>>>>>
>>>>>> One to go...
>>>>>>
>>>>>> Am 04.10.2015 um 10:13 schrieb Veit Guna:
>>>>>>> Hi.
>>>>>>>
>>>>>>> I'm using Apache CXF 3.0.4 on client side against a Jersey based
>>>>>>> REST
>>>>>>> service.
>>>>>>> On client side I'm using the CXF client proxy using the server
side
>>>>>>> interface classes.
>>>>>>>
>>>>>>> Now I encountered, that annotated fields (e.g. with @QueryParam)
on
>>>>>>> @BeanParam classes
>>>>>>> are ignored when invoking a method passing the @BeanParam class.
>>>>>>> Somewhere in a JIRA ticket,
>>>>>>> I found the hint, that setters must be annotated instead. Doing
so
>>>>>>> does
>>>>>>> work indeed.
>>>>>>>
>>>>>>> Is there a reason, why annotations on fields aren't supported?
Isn't
>>>>>>> this allowed based
>>>>>>> on the JAX-RS spec? Since Jersey seems fine with it. The problem
I
>>>>>>> have
>>>>>>> is, that I would
>>>>>>> have to change the server beans to be able to use the CXF client
>>>>>>> proxy.
>>>>>>>
>>>>>>> Another thing I encountered is, that nested @BeanParam's doesn't
>>>>>>> seem to
>>>>>>> be supported.
>>>>>>>
>>>>>>> Having (pseudocode):
>>>>>>>
>>>>>>> class A {
>>>>>>>     B b;
>>>>>>>
>>>>>>>     @BeanParam
>>>>>>>     set(B b);
>>>>>>>     B get();
>>>>>>> }
>>>>>>>
>>>>>>> class B {
>>>>>>>     String bar;
>>>>>>>
>>>>>>>     @QueryParam("foo")
>>>>>>>     set(String bar);
>>>>>>>     String get();
>>>>>>> }
>>>>>>>
>>>>>>> Interface {
>>>>>>>     something(@BeanParam A a);
>>>>>>> }
>>>>>>>
>>>>>>> Invoking Jersey's endpoint manually giving the query params seem
to
>>>>>>> work
>>>>>>> without a problem.
>>>>>>> I'm missing something?
>>>>>>>
>>>>>>> Thanks
>>>>>>> Veit
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Mime
View raw message