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