« 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 Sergey Beryozkin-2 :: Rate this Message:

Reply to Author | View in Thread

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@...>
To: <users@...>
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@...>
> To: <users@...>
> 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