Hi JB,

Yes, I am sure that it's the wiring. Actually I only used the feature resolver 
to get the initial (working) setup with CXF 3.4.0. Then I uninstalled the CXF 
3.4.0 bundles via bundle:uninstall and installed the CXF 3.4.5 bundles via 
fileinstaller from the deploy directory.

I have created CAMEL-17957 for this issue.

Thanks for your feedback.

Best regards
Stephan

-----Original Message-----
From: Jean-Baptiste Onofré <j...@nanthrax.net> 
Sent: Tuesday, 12 April 2022 22:01
To: u...@karaf.apache.org
Cc: users@camel.apache.org
Subject: [SPAM] Re: [SPAM] Re: Wiring issues with camel-cxf 3.14.2 and CXF 
3.4.5 on Karaf 4.3.6

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)(ve
> rsion<=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)(ver
> sion<=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)(v
> ersion<=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)(ver
> sion<=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)(versio
> n<=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)(v
> ersion<=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)(versi
> on<=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)(versi
> on<=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)(v
> ersion<=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.bluepr
> int)(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&amp;data=04%7C01%7Cstephan.siano%40sap.com%7C559d29f45c394dfb1d2908da1cbf43a1%7C42f7676cf455423c82f6dc2d99791af7%7C0%7C0%7C637853905041525522%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=1sXzagBY4ftMhO4rm3KLuSMNC0dQKYhKFHadKDCIBr8%3D&amp;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

Reply via email to