Dear all,I solved the problem by taken the base specs-jaxrs-api bundle from servicemix and by editing the MANIFEST and adding a Provide-Capability.
Then simply deploy the whiteboard bundles and now everything is working. Thanks for your support on a weekendMat frëndleche Gréiss, Mit freundlichen Grüßen, Meilleures salutations, Kind regards,
Alex WeirigResponsable Technique Ville de Luxembourg Service Enseignement Centre Technolink *Tel* +352 4796 - 6127 <tel:+35247966127> *Fax* +352 42 88 81 *Email* alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu> www.vdl.lu <http://www.vdl.lu> // www.technolink.lu <http://www.technolink.lu> Centre Technolink 2, rue Charles de Tornaco L-2623 LUXEMBOURG
//indoors.this.blesses <https://map.what3words.com/indoors.this.blesses> //schaufel.besten.kopie <https://map.what3words.com/schaufel.besten.kopie> //supposons.levage.venger <https://map.what3words.com/supposons.levage.venger> On 14/03/2020 17:46, Jean-Baptiste Onofre wrote:
Hi, I will publish a SNAPSHOT as I will cut the ServiceMix release. Regards JBLe 14 mars 2020 à 17:29, Alex Weirig <alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu>> a écrit :Hi, sure whatever helps :-) I'm finding 2.9.1 in maven. Where could I download the snapshot?Mat frëndleche Gréiss, Mit freundlichen Grüßen, Meilleures salutations, Kind regards,Alex WeirigResponsable Technique Ville de Luxembourg Service Enseignement Centre Technolink *Tel* +352 4796 - 6127 <tel:+35247966127> *Fax* +352 42 88 81 *Email* alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu> www.vdl.lu <http://www.vdl.lu/> // www.technolink.lu <http://www.technolink.lu/> Centre Technolink 2, rue Charles de Tornaco L-2623 LUXEMBOURG//indoors.this.blesses <https://map.what3words.com/indoors.this.blesses> //schaufel.besten.kopie <https://map.what3words.com/schaufel.besten.kopie> //supposons.levage.venger <https://map.what3words.com/supposons.levage.venger> On 14/03/2020 17:17, Freeman Fang wrote:And for the Provide-Capability requirements, I think we need to release jaxrs-api-2.1 from Servicemix which will contain the fix.So far you can use the snapshot version of it to give it a quick shot. FreemanOn Sat, Mar 14, 2020 at 12:00 PM Freeman Fang <freeman.f...@gmail.com <mailto:freeman.f...@gmail.com>> wrote:Hi, Please see my comments inline On Sat, Mar 14, 2020 at 11:54 AM Alex Weirig <alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu>> wrote: Hi Tim, thanks for your answer, that was what I was looking at to begin, this was my initial code @Reference ClientBuilder clientBuilder; Client client = clientBuilder.hostnameVerifier((s, session) -> true) .sslContext(sslContext) .register(new JacksonJsonProvider(objectMapper)) .connectTimeout(10, TimeUnit.MINUTES) .build(); with but then I faced: Error executing command: Unable to resolve lu.tlk.occupation_postes_electronique.services.login-service [123](R 123.2): missing requirement [lu.tlk.occupation_postes_electronique.services.login-service [123](R 123.2)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) Unresolved requirements: [[lu.tlk.occupation_postes_electronique.services.login-service [123](R 123.2)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client)] I then manually added bundle:install mvn:javax.ws.rs/javax.ws.rs-api/2.1 <http://javax.ws.rs/javax.ws.rs-api/2.1> This is the problem, shouldn't use this one, should use mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxrs-api-2.1/2.9.1 which has OSGi locator enabled. and then I got Error executing command: Error executing command on bundles:Error starting bundle 123: Unable to resolve lu.tlk.occupation_postes_electronique.services.login-service [123](R 123.2): missing requirement [lu.tlk.occupation_postes_electronique.services.login-service [123](R 123.2)] osgi.contract; (&(osgi.contract=JavaJAXRS)(version=2.1.0)) Unresolved requirements: [[lu.tlk.occupation_postes_electronique.services.login-service [123](R 123.2)] osgi.contract; (&(osgi.contract=JavaJAXRS)(version=2.1.0))]So at that point I tried to revert to the old code I already and I knew was running back then ... You had a post back in 2018 about this but it was related to Java 9 ... I'm still on Java 8. I didn't find anything relevant to this contract issue (except some stuff about Johnzon JSON-B ... Mat frëndleche Gréiss, Mit freundlichen Grüßen, Meilleures salutations, Kind regards, Alex Weirig Responsable Technique Ville de Luxembourg Service Enseignement Centre Technolink *Tel* +352 4796 - 6127 <tel:+35247966127> *Fax* +352 42 88 81 *Email* alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu> www.vdl.lu <http://www.vdl.lu/> // www.technolink.lu <http://www.technolink.lu/> Centre Technolink 2, rue Charles de Tornaco L-2623 LUXEMBOURG indoors.this.blesses <https://map.what3words.com/indoors.this.blesses> schaufel.besten.kopie <https://map.what3words.com/schaufel.besten.kopie> supposons.levage.venger <https://map.what3words.com/supposons.levage.venger> On 14/03/2020 16:20, Tim Ward wrote:Have you considered creating the clients as described in the JAX-RS Whiteboard specification (https://osgi.org/specification/osgi.cmpn/7.0.0/service.jaxrs.html#d0e134114)? This avoids the reflective loading pain that you’re hitting in a reliable way. All the best, Tim Sent from my iPhone On 14 Mar 2020, at 15:05, Alex Weirig <alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu>> wrote:BTW: from my docs it looks like I did that in the past using cxf 3.2.4. Have there been any significant breaking changes since 3.2.4? Mat frëndleche Gréiss, Mit freundlichen Grüßen, Meilleures salutations, Kind regards, Alex Weirig Responsable Technique Ville de Luxembourg Service Enseignement Centre Technolink *Tel* +352 4796 - 6127 <tel:+35247966127> *Fax* +352 42 88 81 *Email* alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu> www.vdl.lu <http://www.vdl.lu/> // www.technolink.lu <http://www.technolink.lu/> Centre Technolink 2, rue Charles de Tornaco L-2623 LUXEMBOURG indoors.this.blesses <https://map.what3words.com/indoors.this.blesses> schaufel.besten.kopie <https://map.what3words.com/schaufel.besten.kopie> supposons.levage.venger <https://map.what3words.com/supposons.levage.venger> On 14/03/2020 15:59, Alex Weirig wrote:Hi, I'm trying to develop a JAX-RS client on karaf 4.2.8. I've installed the usual suspects: feature:install scr webconsole and I've added the cxf repo cxf-3.3.5 │ mvn:org.apache.cxf.karaf/apache-cxf/RELEASE/xml/features and installed following features: feature:install cxf-jaxrs cxf-core cxf-commands cxf-http-client cxf-jackson and I've installed my bundles. Everything is starting up as expected ... When I try to create a webclient in my code Client client = ClientBuilder.newBuilder().hostnameVerifier((s, session) -> true) .sslContext(sslContext) .register(new JacksonJsonProvider(objectMapper)) .connectTimeout(10, TimeUnit.MINUTES) .build(); I get a CNF exception. java.lang.RuntimeException: java.lang.ClassNotFoundException at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:50) ~[?:?] at tlk.occupation_postes_electronique.services.login_service.impl.LoginServiceImpl.authenticate(LoginServiceImpl.java:92) ~[?:?] at lu.tlk.occupation_postes_electronique.services.login_service_test.cmd.LoginServiceTestCommands.testLogin(LoginServiceTestCommands.java:22) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_212] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_212] at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:143) ~[?:?] at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:91) ~[?:?] at org.apache.karaf.shell.impl.console.osgi.CommandTracker$1.execute(CommandTracker.java:112) ~[?:?] at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68) ~[?:?] at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86) ~[?:?] at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:599) ~[?:?] at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:526) ~[?:?] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:415) ~[?:?] at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:416) ~[?:?] at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) ~[?:?] at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_212] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212] Caused by: java.lang.ClassNotFoundException at javax.ws.rs.client.ClientFinder.newInstance(ClientFinder.java:120) ~[?:?] at javax.ws.rs.client.ClientFinder.find(ClientFinder.java:96) ~[?:?] at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:44) ~[?:?] ... 21 more Caused by: java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) ~[?:1.8.0_212] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_212] at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_212] at javax.ws.rs.client.ClientFinder.newInstance(ClientFinder.java:116) ~[?:?] at javax.ws.rs.client.ClientFinder.find(ClientFinder.java:96) ~[?:?] at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:44) ~[?:?] ... 21 more I'm pretty sure I had something similar running in an older version of karaf but I can't figure out what I'm missing today... Many thanks in advance -- Mat frëndleche Gréiss, Mit freundlichen Grüßen, Meilleures salutations, Kind regards, Alex Weirig Responsable Technique Ville de Luxembourg Service Enseignement Centre Technolink *Tel* +352 4796 - 6127 <tel:+35247966127> *Fax* +352 42 88 81 *Email* alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu> www.vdl.lu <http://www.vdl.lu/> // www.technolink.lu <http://www.technolink.lu/> Centre Technolink 2, rue Charles de Tornaco L-2623 LUXEMBOURG indoors.this.blesses <https://map.what3words.com/indoors.this.blesses> schaufel.besten.kopie <https://map.what3words.com/schaufel.besten.kopie> supposons.levage.venger <https://map.what3words.com/supposons.levage.venger>-- This email was Anti Virus checked by SOPHOS UTM<alex_weirig.vcf><alex_weirig.vcf>
<<attachment: alex_weirig.vcf>>