I have a simple java project, called server. In addition i have a osgi api project which defines an interface BlockProvider. Next i have an osgi declarative service project with a service that implements BlockProvider.
In my java project 'server' i have an embedded osgi framework (felix in my case).
I created an bundleactivator which installs gogo osgi bundles, scr bundle , my api project bundle and the service project bundle.
Works without problem, i can inspect my service bundle.
In my server project i want to see which services implement BlockProvider interface. So i implement a ServiceTracker with "BlockProvider.class.getName()" as second parameter (the filter one).
Works also without problems, getServices() return my service project.
But here comes the catch: i can't call any of the functions on the interface BlockProvider, because the BlockProvider in the 'server' project uses a different classloader (sun.misc.Launcher$AppClassLoader@4e0e2f2a) than the service project (o: yellowblock [6]).
I suspect I'm overlooking something basic here: but how can i call functions of my BlockProvider service that implements my BlockProvider interface?