With some help from sergeyb and dkulp yesterday, I wrote some very simple
CXF interceptors that enable transparent JSONP capabilities in JAX-RS. If a
request contains a "jsonp" parameter in the querystring, and the response's
content type is "application/json", the response is wrapped in the callback
specified by the jsonp parameter.
For example, a response from a hypothetical JAX-RS endpoint at /foo.json
looks like this:
{"foo":"bar"}
The response to the same URL with a jsonp parameter
(/foo.json?jsonp=handleCallback) would look like this:
handleCallback({"foo":"bar"})
With jsonp, the /foo.json service can be called from 3rd party browser-based
mashups. Without it, browsers' same-origin policy limits the usefulness of
the endpoint. If there is interest in including this functionality in CXF
itself, I'd be happy to submit a patch.
Thanks,
Josh