Hi,
I am upgrading a system from CXF-2.7.2 and DOSGi-1.4 to 3.1.1/1.7.0 but I have
run into a wall.
Before I start digging in the CXF code, would anyone have an idea why
bundleContext.getService() would return a null object for a registered DOSGi
service?
This is the remote service description:
<endpoint-description>
<property name="objectClass">
<array>
<value>com.seecago.service.interfaces.MyService</value>
</array>
</property>
<property
name="endpoint.id">http://my_service_host:12345/MyService/</property>
<property name="service.imported.configs">org.apache.cxf.ws</property>
</endpoint-description>
The service is registered:
osgi> services (objectClass=*MyService)
{com.seecago.interfaces.MyService}={endpoint.id=http://my_service_host:12345/MyService/,
service.imported=true, service.imported.configs=org.apache.cxf.ws,
service.id=163, service.bundleid=30, service.scope=bundle}
"Registered by bundle:" cxf-dosgi-ri-dsw-cxf_1.7.0 [30]
"No bundles using service."
This is a modified activator to prove that the service is null.
@Activate
public void activate(ComponentContext context){
BundleContext bc = context.getBundleContext();
// Added to see what is going on. setMyService() is not called
if (bc != null){
ServiceReference<MyService> sr =
bc.getServiceReference(MyService.class);
if (sr != null){
// verified that sr has correct props here
MyService ms = bc.getService(sr);
if (ms == null){
// Always get here.
LOG.error("Ouch!");
}
}
}
LOG.info("Activated.");
}
This is the error msgs Equinox spits out:
!MESSAGE [SCR] Could not get the service object relevant to the reference. One
possible reason is a circularity problem. Another possible reason is that
BundleContext.getService() returns null. <—— WHICH APPEARS TO BE TRUE
Details:
Problematic reference = Reference[name = myService, interface =
com.seecago.service.interfaces.MyService, policy = static, cardinality = 1..1,
target = null, bind = setMyService, unbind = unsetMyService]
of service component = com.seecago.client.ui.configuration
...
DOSGi- 1.7.0
CXF - 3.1.1
Equinox- 3.12
J8
Your suggestions are greatly appreciated.
Regards,
Erwin