jax-rscxfesbapache-servicemixcxfrs

JAX-RS in ServiceMix / Fuse ESB


I got the below error when I try to install a CXF example from Talend into FuseESB.

FuseESB:karaf@root> features:install talend-cxf-example-jaxrs-intro
Error executing command: Can not resolve feature:
Unsatisfied requirement(s):
---------------------------
   package:(&(package=javax.ws.rs.core)(version>=2.0.0)(!(version>=3.0.0)))
      Intro JAX-RS Example Common
   package:(&(package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))
      Intro JAX-RS Example REST Resource Bundle
   package:(&(package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))
      Intro JAX-RS Example Common
   package:(&(package=javax.ws.rs.core)(version>=2.0.0)(!(version>=3.0.0)))
      Intro JAX-RS Example REST Resource Bundle

I have JSR-311 running

FuseESB:karaf@root> list|grep -i 311
[ 165] [Active     ] [            ] [       ] [   10] Apache ServiceMix :: Specs :: JSR-311 API 1.1.1 (1.9.0)

How to resolve Unsatisfied requirement(s) error?


Solution

  • Fuse uses older versions of CXF than Talend does for their ESB and does not currently support CXF 2.7.x which is where the 2.x version of the JAX-RS implementation was added. The 2.6.x version of CXF that they include only supported JAX-RS 1.1. You possibly could edit the Talend example to drop it to 1.1 level. Not sure how well that would work.