This has been fixed on trunk/2.5.x/2.4.x,
but on on 2.3.x, just in case...
Technically, some of those characters which were previously encoded can
be kept as is when added to the path, but I still want to encode them
because it seems as if keeping them non-encoded may upset some legacy
servers :-) so keeping the 2.3.x without the fixes for now but of
course that can be pushed there too
Was a bit worried about '&' as it needs to be replaced with & in the
generated WADL if it is added un-encoded in @Path but ultimately it's a
XML processor which will read WADL so it should not be a prob
Give the snapshots a try please when you give a chance
Sergey
On 24/01/12 17:13, Sergey Beryozkin wrote:
Hi
On 24/01/12 16:53, Klevenz, Stephan wrote:
Hi,
I'm new to CXF and have a question about the REST part. Just for
context the GoogleCode project odata4j [1] wants to support CXF as an
alternative JAX-RS implementation in parallel to Jersey which is
supported, too. The CXF version we are using is the latest and
greatest 2.5.1.
To my question: While execution of full integration JUnit test which
is launching the CXF WebClient and a Jetty server the URI [2] received
by the server does not map to any method of a resource class. The log
[3] prints the path of the URI and it seems that it is not decoded
correctly. How can I change this behavior?
Maybe I have just overseen documentation and would appreciate any hint.
I think it is a WebClient bug in that it wrongly encodes "(" & ")".
That will be fixed shortly.
What I'm not sure is what to recommend as a workaround. Perhaps, if
feasible, add a handler for
@Path("categories%28{id}%29/products")
which will deal with the clients encoding too eagerly.
Cheers, Sergey
Regards,
Stephan
[1] http://code.google.com/p/odata4j/
[2] uri = http://localhost:8810/test/test.svc/categories(1)/products
[3]
WARNUNG: No operation matching request path
"/test/test.svc/categories%281%29/products" is found, Relative Path:
/, HTTP Method: GET, ContentType: */*, Accept: application/xml,.
Please enable FINE/TRACE log level for more details.
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com