Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] trouble creating proxy, when my service interface is in a distinct bundle

Hello again Scott & friends,
My application was working great until I moved my service interface
into a bundle different from my ECF client activator bundle.  Now that
my service (IHello) interface is in a distinct bundle, I get the error
at bottom.  I gather that this bundle is having trouble seeing my
IHello interface:
org.eclipse.ecf.provider.remoteservice_3.1.0.v20091012-1618.jar

however I see that the latter bundle has this in MANIFEST.MF:
Eclipse-BuddyPolicy: global
so I would think it should see my service interface.

Here is my code snippet:

IContainerFactory containerFactory = getContainerManagerService()
				.getContainerFactory();
containerFactory.createContainer("ecf.generic.client");
ServiceTracker serviceTracker = new ServiceTracker(
			bundleContext,
			bundleContext.createFilter("(&("
				+ org.osgi.framework.Constants.OBJECTCLASS + "="
				+ "org.inqle.qa.common.services.IHello" + ")(" +
DistributionConstants.REMOTE + "=*))"),
			this);
		serviceTracker.open();

Any ideas what I am doing wrong?
Thanks much and happy holidays!
David Donohue





[log;-0500 2009.12.27
08:26:34:340;ERROR;org.eclipse.ecf.osgi.services.distribution;org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.osgi.services.distribution;code=4;message=org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl:registerRemoteServiceReferences:Exception
creating or registering remote reference
RemoteServiceReferenceImpl[class=org.inqle.qa.common.services.IHello;registration=RemoteServiceRegistrationImpl[remoteServiceID=org.eclipse.ecf.remoteservice.RemoteServiceID[containerID=StringID[ecftcp://127.0.0.1:3787/server1];containerRelativeID=0];containerID=StringID[ecftcp://127.0.0.1:3787/server1];serviceid=0;serviceranking=0;classes=[org.inqle.qa.common.services.IHello];state=0;properties={ecf.rsvc.id=0,
org.inqle.ecf.server.uri=ecftcp://127.0.0.1:3787/server1}]];severity4;exception=org.eclipse.ecf.core.util.ECFException:
Exception creating proxy for remote service;children=[]]]
org.eclipse.ecf.core.util.ECFException: Exception creating proxy for
remote service
	at org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceImpl.getProxy(RemoteServiceImpl.java:85)
	at org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl.registerRemoteServiceReferences(DiscoveredServiceTrackerImpl.java:577)
	at org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl.handleDiscoveredServiceAvailable(DiscoveredServiceTrackerImpl.java:287)
	at org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl.access$3(DiscoveredServiceTrackerImpl.java:226)
	at org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl$1.run(DiscoveredServiceTrackerImpl.java:119)
	at org.eclipse.equinox.concurrent.future.SingleOperationFuture$1.run(SingleOperationFuture.java:96)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.equinox.concurrent.future.SingleOperationFuture.runWithProgress(SingleOperationFuture.java:89)
	at org.eclipse.equinox.concurrent.future.ThreadsExecutor$1.run(ThreadsExecutor.java:49)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.inqle.qa.common.services.IHello
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceImpl.getProxy(RemoteServiceImpl.java:80)
	... 9 more


Back to the top