Stephan Siano created CAMEL-17957:
-------------------------------------
Summary: CXF import range too restrictive in OSGi
Key: CAMEL-17957
URL: https://issues.apache.org/jira/browse/CAMEL-17957
Project: Camel
Issue Type: Bug
Components: came-cxf, karaf, osgi
Affects Versions: 3.14.2
Reporter: Stephan Siano
The camel-cxf and camel-cxf transport bundles do not wire with CXF 3.4.5 in
Camel 3.14.2 on a Karaf 4.3.6 container (the latest version).
The error is:
Unsatisfied Requirements:
[org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package;
(&(osgi.wiring.package=org.apache.cxf)(version>=3.4.0)(version<=3.4.0))
[org.apache.camel.camel-cxf-transport [161](R 161.0)]
...
The problem is the import range for the CXF bundles of [3.4,3.4]. The karaf
container will interpret that as "exactly version 3.4.0" so this will wire with
CXF 3.4.0 but nothing else. I think what is mean here is to have any CXF 3.4
version, but then the import range should be [3.4,3.5) instead (this means the
version has to be greater or equal 3.4.0 and smaller than 3.5.0). If I manually
change that in the bundle manifests, wiring with CXF 3.4.5 works.
The issue was introduced with CAMEL-17137, so it should all branches where
thich change was applied.
The fix for this is to change the cxf-version-range property in parent/pom.xml
from
<cxf-version-range>[3.5,3.5]</cxf-version-range>
to
<cxf-version-range>[3.5,3.6)</cxf-version-range>
and from
<cxf-version-range>[3.4,3.4]</cxf-version-range>
to
<cxf-version-range>[3.4,3.5)</cxf-version-range>
in the different branches.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)