Hi Rob

Perhaps there's a big in ProviderFactory to do with finding ParameterHandler
parameterized with array classes like Long[]...I'll look into it, in
meantime you might want to try List<Long> instead...

cheers, Sergey

On Mon, Mar 8, 2010 at 7:47 PM, Robert Roland <[email protected]> wrote:

>
> Hi all,
>
> I'm attempting to make my service accept a URL like:
>
> /getEffectiveBid?offerIds=1;2;3;4
>
> I know that I can use a Long[] for a URL like:
>
> /getEffectiveBid?offerIds=1&offerIds=2&offerIds=3
>
> However - this URL format is not acceptable.  I want to support a semicolon
> delimited list.
>
> I've tried registering a ParameterHandler:
>
>    <jaxrs:providers>
>      <bean
> class="com.shopzilla.ms.bidding.service.util.LongArrayParameterHandler"/>
>    </jaxrs:providers>
>
> My method looks like this:
>
>    @Override
>    @Path("getEffectiveBid")
>    @Produces( { MediaType.APPLICATION_XML, "application/fastinfoset",
> MediaType.APPLICATION_JSON })
>    @GET
>    public GetEffectiveBidResponse getEffectiveBid(@QueryParam("offerIds")
> Long[] offerIds) throws Exception {
>
> My ParameterHandler is never called, and I get the following error:
>
> Mar 8, 2010 11:45:29 AM org.apache.cxf.jaxrs.utils.InjectionUtils
> handleParameter
> SEVERE: Class java.lang.Long can not be instantiated using a constructor
> with a single String argument
>
> How do I do this?  I've tried looking at the mailing lists, but it seems
> everyone gives up and uses a String parameter, which just seems... dirty.
> :)
>
> Thanks much for your help,
>
> Rob
> --
> View this message in context:
> http://old.nabble.com/ParameterHandler-for-a-Long-array-tp27826543p27826543.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Reply via email to