You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Stephan Klevenz (JIRA)" <ji...@apache.org> on 2013/02/28 15:31:12 UTC

[jira] [Created] (CXF-4861) Encoding issue jax-rs - UriBuilder

Stephan Klevenz created CXF-4861:
------------------------------------

             Summary: Encoding issue jax-rs - UriBuilder
                 Key: CXF-4861
                 URL: https://issues.apache.org/jira/browse/CXF-4861
             Project: CXF
          Issue Type: Bug
    Affects Versions: 2.7.0, 2.6
            Reporter: Stephan Klevenz


Use Case: OData (odata.org) / odata4j (odata4j.org)

Building an URI based on OData query parameter:

URI called by http client: .../Employees?$filter=startswith(CarrierId,'A')

URI build on server:

String nextHref = uriInfo.getRequestUriBuilder().replaceQueryParam("$skiptoken", "{dummySkipToken}").build().toString();

Result is:

/Employees?$filter=startswith%2528CarrierId%252C%2527A%2527%2529&$skiptoken=%7BdummySkipToken%7D

The value of query parameter $filter is encoded twice. The issue is in the embrasing {} of the value of the $skiptoken query parameter.

CXF does a partial encoding of the first query parameter which succeeds and then gets a UriSyntaxException for the 2nd query parameter. After that it falls back and encodes the whole URI while the 1st query option is already encoded.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira