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

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

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.

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