Hi Scott,
Am 10.03.2015 um 17:43 schrieb Scott
Lewis:
I think that the problem might be this:
<property name="endpoint.service.id" value-type="Long"
value="0"
i tried using different service id's, but discovered that that does
not seem to work at all.
After trial and error (with just importing one service on client for
sake of reducing problems), my current state is that:
- service id 0 seems to generally work - service is discovered and
works
- service id 2(in my case) works, as on server side the requested
service is registered as
com.godyo.service.IService1.proxy@xxxxxxxxxxxxxxx.remoteservice.RemoteServiceID[containerID=StringID[ecftcp://peter-desktop:8889/server];containerRelativeID=2]
- I think because of the containerRelativeID=2
- all other service id's (eg. 1) does not work and end up in the
following error message:
RemoteReferenceNotFoundException[targetID=StringID[ecftcp://peter-desktop:8889/server],
idFilter=[StringID[ecftcp://peter-desktop:8889/server]],
interfaces=[com.godyo.service.IService1],
rsFilter=(&(ecf.rsvc.id=1))]
at
org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:2097)
at
org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:422)
at
org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager.handleECFEndpointAdded(AbstractTopologyManager.java:251)
at
org.eclipse.ecf.internal.osgi.services.distribution.BasicTopologyManagerImpl.endpointAdded(BasicTopologyManagerImpl.java:115)
at
org.eclipse.ecf.osgi.services.remoteserviceadmin.EndpointDescriptionLocator$1.dispatchEvent(EndpointDescriptionLocator.java:156)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
I Think because of the service filter ecf.rsvc.id=1
So overall using different serviceID's leads to this general import
error, which prevents me from using it and still leaves me with the
problem of importing multiple services which may be caused by using
serviceID 0.
My
environment:
- ECF version 3.7 (i'm currently bound to eclipse indigo 3.7
RCP)
This is now a pretty old version of ECF...particularly wrt to the
RSA impl. There was a bug recently discovered, fixed and
deployed in 3.9.3 WRT the processing of multiple edef files
https://bugs.eclipse.org/bugs/show_bug.cgi?id=461348
Thanks for the hint, but I'm using the
Service-Component: OSGI-INF/*.xml
syntax, so that won't hit me ;)
Realistically, it might become difficult/impossible to support ECF
3.7 on Indigo for much longer...and I *believe* that ECF 3.9.3
will run on everything back to Kepler (although I admit I haven't
tested on Kepler yet...I will do so/help do so, however, if that
is necessary. Please let me know). The dependency here is on the
use of the OSGI Wiring API (required for compliance with modern
versions of OSGi RSA spec), which I *think* only appeared in
Kepler version of Equinox (can't remember what number version of
Equinox that was right now).
Of course thats a problem. I tried upgrading to the latest version,
but as you already statet, there is a dependency to a core
equinox.osgi package version 1.7 whereas eclipse indigo only has
version 1.6 available.
An upgrade of our RCP app to Eclipse 4 is planned, but currently not
in work. I case we would need a fix in ECF 3.7 I would consider
patching/building it myself ....
Thanks for your hints!
Best Regards, Peter
|