I am trying the ECF remote services examples of the Wiki in Eclipse Helios, version Modeling, with ECF 3.5.2 installed instead of making use of a specific target platform. An exception raises upon execution of

containerFactoryServiceTracker.open()

in line 111 of org.eclipse.ecf.internal.examples.remoteservices.hello.consumer.HelloConsumerApplication.java. After that the consumer is unable to access the published service IHello.

Here is the exception trace:

java.lang.NoSuchMethodError: org.osgi.framework.Version.compareTo(Lorg/osgi/framework/Version;)I
at org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.Activator.isOldEquinox(Activator.java:244)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.getProxyServiceFactoryContext(RemoteServiceAdmin.java:1528)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.createAndRegisterProxy(RemoteServiceAdmin.java:1485)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:1986)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:356)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager.handleEndpointAdded(AbstractTopologyManager.java:225)
at org.eclipse.ecf.internal.osgi.services.distribution.BasicTopologyManager.endpointAdded(BasicTopologyManager.java:133)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.EndpointDescriptionLocator$1.dispatchEvent(EndpointDescriptionLocator.java:154)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

It seems that the problem comes from an API change in org.osgi.framework.Version.compareTo(...), where the type of the single parameter has changed from Eclipse 3.6 to 3.7.

The way I have solved this is by recompiling the org.eclipse.ecf.osgi.services.remoteserviceadmin plugin on the Helios platform, no source code modification required. Now the exception has disappeared and the consumer succeeds in accessing the service and invoking its methods.

I guess this means that ECF 3.5.2 is not strictly compatible with Helios... Has anyone experienced the same issue?