Hi,
with reference to the solutions proposed in this thread [1] to avoid forcing client code passing null parameters, I am exploring @BeanParam.

I have now UserService (an interface) with a brand new list() method like as

    @GET
    @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    PagedResult<UserTO> list(@BeanParam ListQuery listQuery);

and my ListQuery bean is as [2].

Now, when invoking

http://localhost:9080/syncope/rest/users;realm=%2Feven%2Ftwo;realm=%2Fodd

I received an error 500:

[...]
Caused by: java.lang.AbstractMethodError: org.apache.syncope.core.rest.cxf.service.UserServiceImpl.list(Lorg/apache/syncope/common/rest/api/beans/ListQuery;)Lorg/apache/syncope/common/lib/to/PagedResult;

If I check the URL generated by client code for

        ListQuery lq = new ListQuery();
        lq.setRealms(Arrays.asList("/even/two", "/odd"));

I see that

http://localhost:9080/syncope/rest/users

is generated (e.g. without realms).

What am I doing wrong?
TIA

Regards.

[1] http://cxf.547215.n5.nabble.com/JAX-RS-Matrix-parameters-and-method-matching-tp5756387p5756414.html
[2] https://paste.apache.org/aHaK

--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PMC
http://people.apache.org/~ilgrosso/


Reply via email to