[ 
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.

Reply via email to