1 Reply Latest reply on Aug 9, 2015 1:59 PM by Kishore Ambatipudi

    OSGI and Karaf dependencies

    chechus26

      Hi all,

       

      I am migrating our backend application to an OSGi arquitecture (with karaf as OSGi container).

       

      So I need to call ALC services from our application OSGi bundles and we are facing bundles dependencies issues at runtime.

       

      I added the following ALC OSGifyed jars as a feature in karaf:

       

      usermanager-client

      livecycle-client

      contentservices-client

      utilities

       

      To do OSGIyed jar, I used bnd tool.

      But we cannot  make it work, this is what I see in the logs..


      java.lang.IllegalStateException

                      at com.adobe.idp.dsc.clientsdk.ServiceClientFactory$1.handleThrowable(ServiceClientFactory.j ava:72)

                      at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:220)

                      at com.citi.edelng.engine.logic.alc.FraudAffidavitServiceImpl.submitAffidavitToAdobe(FraudAf fidavitServiceImpl.java:37)

                      at com.citi.edelng.engine.logic.alc.MilitaryDocumentsServiceImpl.submit(MilitaryDocumentsSer viceImpl.java:64)

                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

      .....

       

      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)

                      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)

                      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)

                      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)

                      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)

                      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)

                      at java.lang.Thread.run(Thread.java:722)

      Caused by: java.lang.NoClassDefFoundError: org/apache/axis/soap/SOAPConstants

                      at java.lang.Class.forName0(Native Method)

                      at java.lang.Class.forName(Class.java:188)

                      at com.adobe.idp.dsc.clientsdk.ServiceClientFactory.createMessageDispatcher(ServiceClientFac tory.java:624)

                      at com.adobe.idp.dsc.clientsdk.ServiceClientFactory.getMessageDispatcher(ServiceClientFactor y.java:580)

                      at com.adobe.idp.dsc.clientsdk.ServiceClient.getMessageDispatcher(ServiceClient.java:239)

                      at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:205)

                      ... 112 more

      Caused by: java.lang.ClassNotFoundException: org.apache.axis.soap.SOAPConstants

                      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)

                      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)

                      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)

                      at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.jav a:107)

                      at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

       

      I added axis.jar but It didn't work.

      I execute in karaf console, osgi:headers mybundleId, under the Import-Package I see the package name listed in a red color..

      Import-Package =

                      com.adobe.edc.server.spi.storage.pof;resolution:=optional,

                      com.adobe.framework;resolution:=optional,

                      com.adobe.idp.dsc.boi;resolution:=optional,

                      com.adobe.idp.dsc.engine;resolution:=optional,

                      com.adobe.idp.dsc.engine.impl;resolution:=optional,

                      com.adobe.idp.dsc.registry.component.impl;resolution:=optional,

                      com.adobe.idp.dsc.registry.connector.impl;resolution:=optional,

                      com.adobe.idp.dsc.registry.datatype.impl;resolution:=optional,

                      com.adobe.idp.dsc.registry.impl;resolution:=optional,

                      com.adobe.idp.dsc.registry.service.impl;resolution:=optional,

                      com.adobe.idp.um.api;resolution:=optional,

                      com.adobe.idp.um.api.infomodel;resolution:=optional,

                      com.adobe.jmx;resolution:=optional,

                      com.adobe.livecycle.cache;resolution:=optional,

                      com.adobe.livecycle.cache.adapter;resolution:=optional,

                      com.adobe.livecycle.cache.admin;resolution:=optional,

                      com.adobe.pof;resolution:=optional,

                      com.adobe.pof.odapi;resolution:=optional,

                      com.adobe.pof.omapi;resolution:=optional,

                      com.adobe.pof.schema;resolution:=optional,

                      com.jamonapi;resolution:=optional,

                      com.thoughtworks.xstream;resolution:=optional,

                      com.thoughtworks.xstream.io;resolution:=optional,

                      com.thoughtworks.xstream.io.xml;resolution:=optional,

                      javax.ejb;resolution:=optional,

                      org.apache.axis.attachments;resolution:=optional,

                      org.apache.axis.client;resolution:=optional,

                      org.apache.axis.constants;resolution:=optional,

                      org.apache.axis.description;resolution:=optional,

                      org.apache.axis.soap;resolution:=optional,

      ......

       

      any clue?

       

      Thanks in advance!