Hi
On 13/04/12 12:23, Blue Diamond wrote:
Hi,
I am facing some serious backward compatibility issues on JAX-RS front with
CXF 2.5.2
I migrated from 2.3.0 to 2.5.2.
@Path() that worked before are not working now.
Here's a list of what was working in 2.3.0& not working with 2.5.2
URL: http://host:8080/odata/$metadata
@Path("/\\$metadata")
URL: http://host:8080/odata/%24metadata
@Path("/%24metadata")
Both the above URLs are not working. I see this error on the server side:
WARNING: WebApplicationException has been caught : no cause is available
With 2.5.2, when I changed to @Path("/$metadata"), then the /%24metadata
URL form started working.
Are you saying '@Path("/$metadata")' catches '/%24metadata' ? That can
only be possible if you use Tomcat which decodes '%24' - make sure you
configure Tomcat not to.
I've tested it locally with CXF 2.6.0 (CXF 2.5.3 has the same code for
dealing with all these extra characters), works fine, I do not think you
should escape '$' in regular Path expressions, only when using explicit
regular expressions if you need to distinguish between reserved regex
and literal characters, so
http://host:8080/odata/$metadata
will work with
@Path("/$metadata")
and similarly for %24.
CXF 2.5.3 should be out next week
Another problem is that, I used to have @Path("/\\$metadata/{path:.+}")
which was handling all kinds of $metadata/Types, $metadata/Properties etc..
URL formats.. None of them are working now. The server shows the same error
message.
Please do not escape '$' in the plain expressions, I did some fixes for
similar (actually OData related queries for 2.5.2) so even if something
does not work for 2.5.2 then 2.5.3 should definitely manage...
HTH, SErgey
Can someone help me how I can get all those supported URLs to work with CXF
2.5.2?
Thanks& Regards,
Anil
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com