I'm not sure which version of spring OSGI is used in virgo.
To be more specific can you do that in virgo 3.5.0.M4 :
<osgi:reference id="logEngine" interface="logger.engine.ILogEngine" cardinality="0..1" availability="optional" timeout="30" />
The option optional seem to come with spring-osgi >= 2.0.0
The xsd I'm using is www springframework.org/schema/osgi/spring-osgi-2.0-m1.xsd.
The bundle seem to start, but still throw exception when the service is not present, and work just fine when the service is present. Since I would like to have an optional service, the 'availability="optional"' option could probably help me. But I'm not sure if it's already available with virgo yet.
I've half of my answer spring-dm is now called gemini-blueprint which declare as follow:
<beans xmlns="www springframework.org/schema/beans"
xmlns:osgi="www eclipse.org/gemini/blueprint/schema/blueprint"
xsi:schemaLocation="www eclipse.org/gemini/blueprint/schema/blueprint www eclipse.org/gemini/blueprint/schema/blueprint/gemini-blueprint.xsd"
...
</beans>
Put back the http and the dot after www.