Hi,
I'm trying to run Http Components in a Felix container embedded in an
Android application.
At first there were two possibilities:
1 - Use HttpClient and HttpCore OSGi bundles
Or 2 - Use HttpClient for Android
At first I tried 1, but I couldn't make it work because of its dependencies
to org.ietf.jgss package. It isn't available on Android platform. What is
that package for? Can I tell the container that the package is available as
long as I don't use specific HTTP Components features? Which features use
that package?
Then I tried 2, by "bundleizing" HttpClient for Android. I configured Felix
to export the following packages on the system bundle
(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA property):
android.net,android.os,android.util,org.apache.http.conn.routing
However, I'm getting this exception:
Caused by: java.lang.ClassNotFoundException:
org.apache.http.client.HttpClient not found by
org.apache.httpcomponents.httpclient-android [5]
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1550)
~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)
~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1988)
~[na:0.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:461) ~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1392)
~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1571)
~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1502)
~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)
~[na:0.0]
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1988)
~[na:0.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:461) ~[na:0.0]
... 40 common frames omitted
I tried adding org.apache.http.client to system packages too but had no
success. Any ideas?
Thanks!