Hello, I recently upgraded from CXF 3.3.2 to 3.4.0 and my rest endpoints stopped to work. I get this error (I’m using Karaf 4.2.11 + Java 8) during pax exam test boot up:
org.osgi.service.http.HttpService not found by org.apache.cxf.cxf-rt-transports-http Caused by: java.lang.ClassNotFoundException: org.osgi.service.http.HttpService not found by org.apache.cxf.cxf-rt-transports-http [167] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639) ~[?:?] at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80) ~[?:?] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_161] at org.apache.cxf.transport.http.osgi.HTTPTransportActivator.start(HTTPTransportActivator.java:62) ~[?:?] I checked the exports and the imports and everything seem fine: karaf@root()> exports -p org.osgi.service.http Package Name │ Version │ ID │ Bundle Name ──────────────────────────────────┼─────────┼─────┼────────────────────────────── org.osgi.service.http.context │ 1.0.0 │ 293 │ org.ops4j.pax.web.pax-web-api org.osgi.service.http.runtime.dto │ 1.0.0 │ 293 │ org.ops4j.pax.web.pax-web-api org.osgi.service.http.runtime │ 1.0.0 │ 293 │ org.ops4j.pax.web.pax-web-api org.osgi.service.http │ 1.2.1 │ 293 │ org.ops4j.pax.web.pax-web-api karaf@root()> imports -p org.osgi.service.http Package │ Version │ Optional │ ID │ Bundle Name ──────────────────────────────────┼───────────────┼──────────┼─────┼────────────────────────────────────── org.osgi.service.http.context │ [1.0.0,2.0.0) │ │ 92 │ flairkit.sc.servlet org.osgi.service.http.runtime.dto │ [1.0.0,2.0.0) │ │ 295 │ org.ops4j.pax.web.pax-web-runtime org.osgi.service.http │ [1.0.0,2.0.0) │ │ 294 │ org.ops4j.pax.web.pax-web-jetty org.osgi.service.http │ [1.0.0,2.0.0) │ │ 295 │ org.ops4j.pax.web.pax-web-runtime org.osgi.service.http │ [1.0.0,2.0.0) │ │ 296 │ org.ops4j.pax.web.pax-web-spi org.osgi.service.http │ [1.2.0,2.0.0) │ resolved │ 168 │ org.apache.cxf.cxf-rt-transports-http org.osgi.service.http │ [1.2.0,2.0.0) │ │ 185 │ org.apache.karaf.http.core And the HttpService seems up and running: karaf@root()> service:list org.osgi.service.http.HttpService [org.osgi.service.http.HttpService, org.ops4j.pax.web.service.WebContainer] --------------------------------------------------------------------------- felix.fileinstall.filename = file.../5e9d5084-f193-4b33-b40f-71b482697646/etc/org.ops4j.pax.web.cfg javax.servlet.context.tempdir = /private/var/folders/dy/xdtn67n929lcfg5kbcwxly6r0000gn/T/.paxweb5610941496959273162 ... service.bundleid = 295 service.id = 191 service.pid = org.ops4j.pax.web service.scope = bundle Provided by : OPS4J Pax Web - Runtime (295) Used by: Apache Karaf :: HTTP :: Core (185) I have the impression that the problem could be related to the optional import of the org.osgi.service.http package within the cxf-rt-transports-http manifest but I’m not sure if this is the way to go trying to solve this. Could you please provide help? Thank you, Matteo