
Ability to dynamically generate client proxies on-demand at runtime, by providing the appropriate API (controller) interface class
Annotated interface concept allows you to define a common API module (set of lightweight, annotated (e.g. fully JAX-RS) interfaces) and base your server and client on it, leading to a very clean design
Ability to plug in desired serialization providers (e.g. Jackson JSON Provider)
Interceptors, e.g. for automatically converting HTTP error responses into Java exceptions
For JAX-RS APIs, ability to leverage all the familiar JAX-RS server and client semantics (e.g. WebClient, builder-style request and response operations) Review collected by and hosted on G2.com.
Some edge configurations may not be fully supported; e.g. we faced one case where we needed to fetch accept form-data params on our REST service backend, one of them as an InputStream; but CXF didn't have a way to facilitate this (at least in 3.1.11 which we use in production), so eventually we had to modify our API. Review collected by and hosted on G2.com.