Hi Paul

I'm wondering can this text from [1] explain it :

"

 The query component is indicated by the first question
   mark ("?") character and terminated by a number sign ("#") character
   or by the end of the URI.

"

I think if you have a query value encoded then you'll get it properly
decoded and '#' preserved.
You might want to use CXF HttpUtils.urlEncode

hope it helps, Sergey

[1] http://tools.ietf.org/html/rfc3986#section-3.4

On Wed, Apr 14, 2010 at 3:05 PM, Paul Wilton <[email protected]> wrote:

> Hi
> I am experiencing some unexpected behaviour when mapping a String
> @QueryParam where the QueryParam is a URI with a #fragment at the end.
>
> Given the method signature :
>
>    @GET
>    @Path("/resource")
>    public Response getResource(@QueryParam("uri")String resourceURI)
>
> if the request is:
> GET /resource?uri=http://some.resource.uri/blah#thing
>
> The value set in the resourceURI String variable is
> "http://some.resource.uri/blah";  not "
> http://some.resource.uri/blah#thing";
>
> This also occurs if an additional query param is passed in the request,
> e.g.
> GET /resource?uri=http://some.resource.uri/blah#thing&hello=1
>
> I am using CXF 2.2.7   - is this a bug ?  I can see no valid reason for
> stripping the uri #fragment
>
> Thanks
> Paul
>
>
>
>
>
>
> This e-mail (and any attachments) is confidential and may contain personal
> views which are not the views of the BBC unless specifically stated. If you
> have received it in error, please delete it from your system. Do not use,
> copy or disclose the information in any way nor act in reliance on it and
> notify the sender immediately.
>
> Please note that the BBC monitors e-mails sent or received. Further
> communication will signify your consent to this
>
> This e-mail has been sent by one of the following wholly-owned subsidiaries
> of the BBC:
>
> BBC Worldwide Limited, Registration Number: 1420028 England, Registered
> Address: BBC Media Centre, 201 Wood Lane, London, W12 7TQ
> BBC World News Limited, Registration Number: 04514407 England, Registered
> Address: BBC Media Centre, 201 Wood Lane, London, W12 7TQ
> BBC World Distribution Limited, Registration Number: 04514408, Registered
> Address: BBC Media Centre, 201 Wood Lane, London, W12 7TQ
>
>
>
>

Reply via email to