Hi Stephan, Are you sure it's the wiring ? Is it not the feature resolver ?
Anyway, [3.4,3.5) looks more flexible to me. I propose to do the change. Regards JB On Tue, Apr 12, 2022 at 3:52 PM Siano, Stephan <stephan.si...@sap.com> wrote: > > Hi Jean-Baptiste, > > Well the issue is that karaf 4.3.6 does not wire package org.apache.cxf > version 3.4.5 with an import package of org.apache.cxf with version range > [3.4,3.4]. > > I also tried the vanilla karaf 4.3.6: > If I install camel-cxf via the feature resolver, it will install CXF 3.4.0 > with it (and everything wires). If I remove cxf 3.4.0 and install cxf 3.4.5, > the camel-cxf bundles don't wire anymore: > > karaf@root()> feature:repo-add camel 3.14.2 > karaf@root()> feature:install camel-cxf > > Installs CXF 3.4.0. After uninstalling CXF 3.4.0 and installing CXF 3.4.5 > instead, camel-cxf-bundles are unwired > karaf@root()> diag 161 > camel-cxf-transport (161) > ------------------------- > Status: Installed > 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)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.binding.soap)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.common.injection)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.common.logging)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.common.util)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.configuration)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.configuration.spring)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.headers)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.helpers)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.interceptor)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.io)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.message)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.phase)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.security)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.service.model)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.transport)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.workqueue)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.cxf.ws.addressing)(version>=3.4.0)(version<=3.4.0)) > [org.apache.camel.camel-cxf-transport [161](R 161.0)] osgi.wiring.package; > (&(osgi.wiring.package=org.apache.camel.component.cxf.transport.blueprint)(version>=3.14.0)(!(version>=3.15.0))) > > Even though the packages are there (in version 3.4.5): > karaf@root()> package:exports -p org.apache.cxf.binding.soap > Package Name | Version | ID | Bundle Name > --------------------------------------------+---------+-----+------------------------------------ > org.apache.cxf.binding.soap.blueprint | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.interceptor | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.jms.interceptor | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.model | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.saaj | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.spring | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.wsdl.extensions | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap.wsdl11 | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > org.apache.cxf.binding.soap | 3.4.5 | 307 | > org.apache.cxf.cxf-rt-bindings-soap > > Do you think this is a bug in Karaf? I checked the OSGi spec, but it is not > too clear to me about what this is supposed to wire. > > Best regards > Stephan > > -----Original Message----- > From: Jean-Baptiste Onofré <j...@nanthrax.net> > Sent: Tuesday, 12 April 2022 11:20 > To: users@camel.apache.org; u...@karaf.apache.org > Subject: [SPAM] Re: Wiring issues with camel-cxf 3.14.2 and CXF 3.4.5 on > Karaf 4.3.6 > > Hi Stephan, > > About the version range, [3.4,3.4] includes 3.4.5, so it's normal that it > wires. [3.4.4,3.4.4] will exclude 3.4.5, but it will include 3.4.4.x. > > filter:="(&(osgi.wiring.package=org.apache.cxf)(version>=3.4.0)(version<=3.4.0))" > will actually exclude 3.4.5 (but again, it could include 3.4.0.x). > > About CXF import range, I already removed <repository/>, so, it would make > sense to use a "flexible" range, like [3.4,3.5). > > Regards > JB > > On Tue, Apr 12, 2022 at 9:39 AM Siano, Stephan > <stephan.si...@sap.com.invalid> wrote: > > > > Hi, > > > > I am trying to install camel-cxf 3.14.2 together with CXF 3.4.5 on a custom > > distribution of Karaf 4.3.6, but the camel-cxf and camel-cxf-transport > > bundles do not wire. > > > > The problem is that the CXF packages are imported by the camel-cxf bundles > > with an import range of [3.4,3.4] which does not wire with the bundles CXF > > 3.4.5 exports (Karaf translates the import range into > > filter:="(&(osgi.wiring.package=org.apache.cxf)(version>=3.4.0)(version<=3.4.0))", > > which would only match version 3.4.0, but not 3.4.5). > > > > The issue was introduced with > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FCAMEL-17137&data=04%7C01%7Cstephan.siano%40sap.com%7C608acdcc2479427861ca08da1c65a0a6%7C42f7676cf455423c82f6dc2d99791af7%7C0%7C0%7C637853520169794077%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Q0EWbpGBQRNO5yJGYe5p4p6FVFAVbKWVs%2Fd5WlTpjk4%3D&reserved=0 > > and I think this was supposed to restrict the import range to any 3.4 > > version (but for my gut feeling the filter for that would have to be > > “[3.4,3.5)”). Rastislav Papp has added the same issue to the incident, but > > I am not sure if that was noted by someone. > > > > Do determine what to do as a follow up I have a few questions: > > To the karaf experts: > > Is the assumption correct that an import range of [3.4,3.4] should not wire > > to a package with version 3.4.5? > > Is there a setting I didn’t set in my custom distribution that might make > > this work? > > > > To the camel experts: > > Wouldn’t it be better to change the CXF import range to [3.4,3.5) or was > > that avoided on purpose? > > With that change the wiring issues are resolved. > > > > Best regards > > Stephan