[
https://issues.apache.org/jira/browse/DOSGI-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Marmolejo updated DOSGI-59:
-------------------------------------
Description:
Server side: service S exported under interface X (using DOSGi 1.1)
Client side: Zookeeper configured and running properly + ServiceTracker for
interface X trying to consume remote service
Problem: Local framework on client side doesn't create a proxy for remote
service S
Observations:
- When publishing service S on server side, method
OsgiUtils.flattenServiceDescription(...) invoked by
CxfPublishHook.publishEndpoint(...) removes property
Constants.EXPORTED_INTERFACES in respective ServicePublication registration.
This service is published in Zookeeper server.
- Node created correctly in Zookeeper server with every original property but
without Constants.EXPORTED_INTERFACES.
- On client side, after starting Service Tracker, Zookeeper node is detected.
In method AbstractClientHook.processNotification(...) a property check code is
executed:
ServiceEndpointDescription sd = notification.getServiceEndpointDescription();
if ((sd.getProperty(Constants.EXPORTED_INTERFACES) == null) &&
(sd.getProperty(Constants.EXPORTED_INTERFACES_OLD) == null)) {
return; //LINE ALWAYS REACHED
}
//...PROXY CREATION CODE
just before invoking proxy creation code
(AbstractClientHook.proxifyMatchingInterface(...)). This code is never reached
because the Endpoint description doesn't contain either property
Constants.EXPORTED_INTERFACES or Constants.EXPORTED_INTERFACES_OLD, that were
removed automatically on server side. The proxy for service S is never created
on client side. If this check code is removed, proxy is created properly.
Affects Version/s: 1.1
Summary: Required service properties for autodiscovery using
Zookeeper are automatically removed (was: Requie)
> Required service properties for autodiscovery using Zookeeper are
> automatically removed
> ----------------------------------------------------------------------------------------
>
> Key: DOSGI-59
> URL: https://issues.apache.org/jira/browse/DOSGI-59
> Project: CXF Distributed OSGi
> Issue Type: Bug
> Components: Discovery
> Affects Versions: 1.1
> Reporter: Christian Marmolejo
>
> Server side: service S exported under interface X (using DOSGi 1.1)
> Client side: Zookeeper configured and running properly + ServiceTracker for
> interface X trying to consume remote service
> Problem: Local framework on client side doesn't create a proxy for remote
> service S
> Observations:
> - When publishing service S on server side, method
> OsgiUtils.flattenServiceDescription(...) invoked by
> CxfPublishHook.publishEndpoint(...) removes property
> Constants.EXPORTED_INTERFACES in respective ServicePublication registration.
> This service is published in Zookeeper server.
> - Node created correctly in Zookeeper server with every original property but
> without Constants.EXPORTED_INTERFACES.
> - On client side, after starting Service Tracker, Zookeeper node is detected.
> In method AbstractClientHook.processNotification(...) a property check code
> is executed:
> ServiceEndpointDescription sd = notification.getServiceEndpointDescription();
> if ((sd.getProperty(Constants.EXPORTED_INTERFACES) == null) &&
> (sd.getProperty(Constants.EXPORTED_INTERFACES_OLD) == null)) {
> return; //LINE ALWAYS REACHED
> }
> //...PROXY CREATION CODE
> just before invoking proxy creation code
> (AbstractClientHook.proxifyMatchingInterface(...)). This code is never
> reached because the Endpoint description doesn't contain either property
> Constants.EXPORTED_INTERFACES or Constants.EXPORTED_INTERFACES_OLD, that were
> removed automatically on server side. The proxy for service S is never
> created on client side. If this check code is removed, proxy is created
> properly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.