« Return to Thread: Problem with matrix params, works with one, but not with two (or more) params

Re: Problem with matrix params, works with one, but not with two (or more) params

by Gabriel Guardincerri :: Rate this Message:

Reply to Author | View in Thread

Hi Sergey,

Thanks again for your quick response.
We are using the latest version, 2.2.2, so not sure what's going on.

We are changing to another approach, trying to have simpler URLs.

Thank you anyway,

Gabriel

Sergey Beryozkin-2 wrote:
Hi,

I have few tests which post URIs like this one :

POST /test/services/rest/bookstore/books/378/subresource2/CXF%20;n3=Acti;n33=on%20?n2=in+

And things are working fine.

In fact, I tried your method too with WebClient (at the moment it can't handle PathSegments, so I juts introduced two matrix params)
:

GET /test/services/rest/bookstore/books/378/renderwidget/id/1/type/2/size/3/locale/en_US/properties;m1=m11;m2=m22

"renderwidget/id/1/type/2/size/3/locale/en_US/properties;m1=m11;m2=m22"

What version are you using ?


thanks, Sergey

----- Original Message -----
From: "Sergey Beryozkin" <sberyozk@progress.com>
To: <users@cxf.apache.org>
Sent: Thursday, July 02, 2009 11:00 AM
Subject: Re: Problem with matrix params, works with one, but not with two (or more) params


> Hi
>
> I think ServletController may not be handling URIs with multiple matrix parameters attached to the last path segment, even the
> single parameter was not working on the last segment - I'll look into it asap
> Is it possible for you to attach multiple matrix parameters to one of the previous segments, as a temp workaround ?
>
> cheers, Sergey
>
> ----- Original Message -----
> From: "Gabriel Guardincerri" <gguardin@gmail.com>
> To: <users@cxf.apache.org>
> Sent: Wednesday, July 01, 2009 10:35 PM
> Subject: Problem with matrix params, works with one, but not with two (or more) params
>
>
>>
>> Hello,
>>
>> I'm having a problem where matrix parameters are not recognized past the
>> first parameter.  When I have one matrix parameter, the method below is
>> invoked and the PathSegment.getMatrixParameters() returns the single
>> result.
>>
>> However, if I append a second matrix parameter (or more), the service
>> method is not invoked at all and I receive the following error message:
>>
>> "No operation matching request".
>>
>> Service interface:
>>
>> @GET
>> @Path("/renderwidget/id/{widgetID}/type/{widgetType}/size/{size}/locale/{locale}/{properties}")
>>    WSWidget renderWidget(@PathParam("widgetID") Long widgetID,
>>            @PathParam("widgetType") Integer widgetType,
>>            @PathParam("size") Long containerSize,
>>            @PathParam("locale") String locale,
>>            @PathParam("properties") PathSegment props)
>>            throws RemoteBridgeException;
>>
>> Working
>> URL:
>> /renderwidget/id/1007/type/1/size/1/locale/en_US/properties;numResults=1
>>
>> Broken:
>> URL:
>> /renderwidget/id/1007/type/1/size/1/locale/en_US/properties;numResults=1;foo=bar
>>
>> The reason I'm trying to use matrix parameters is that I have an
>> arbitrary map of name/value for a widget class.  I can't try to parse
>> them out individually using @MatrixParam, because they vary by widget
>> class and are not known at the service level.
>>
>> Thanks for your help.
>> --
>> View this message in context:
>> http://www.nabble.com/Problem-with-matrix-params%2C-works-with-one%2C-but-not-with-two-%28or-more%29-params-tp24297533p24297533.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>>
>

 « Return to Thread: Problem with matrix params, works with one, but not with two (or more) params