Hey David, I'm using registerService() for webservice deployment. But I don't use it for accessing the interface in the bundle that publishs the webservice. I simply import it via MANIFEST but that doesn't seem to work? I mean the published WSDL stays the same but I always get those null responses.
On 4/13/2012 5:02 PM, David Bosschaert wrote: > How are you publishing via DOSGi if you're not using > BundleContext.registerService()? OSGi Remote Services (and CXF > DOSGi) only works with services in the OSGi Service Registry. So > you either need to put them there by calling > BundleContext.registerService() or you can use a component > framework like Blueprint or DS to do that for you... > > Cheers, > > David > > > On 13 April 2012 15:33, Thomas Pischulski <[email protected]> > wrote: >> Hey David, >> >> that's what I did even though I didn't use registerService() and >> ServiceTracker to access the interface. I thought exporting the >> interface from the "interface-share-bundle" and importing it into >> the bundle (via MANIFEST) where I register my web service would >> be enough? Also I was wondering why I always get null responses >> after my client requests and there's no problem when both are >> located in the same bundle. >> >> Cheers, >> >> Thomas >> >> On 4/13/2012 3:55 PM, David Bosschaert wrote: >>> Hi Thomas, >>> >>> I'm not sure I fully follow your scenario. >>> >>> I think the best way to do this is by using a shared interface >>> bundle. Like is done in the greeter demo: >>> http://cxf.apache.org/distributed-osgi-greeter-demo-walkthrough.html >>> >>> >>> Since you probably want to program against the API on the client >>> side it generally makes sense to have the interface there >>> available anyway, otherwise the only way you can access the >>> service is via reflection. >>> >>> So I would recommend to have an interfaces bundle which is >>> shared between the client and the server, as is done with the >>> greeter demo. Then things should work nicely. I think trying to >>> read a .class file from the server may generally not be what >>> you want. >>> >>> Cheers, >>> >>> David >>> >>> On 13 April 2012 14:45, Thomas Pischulski >>> <[email protected]> wrote: >>>> Hi, >>>> >>>> currently I'm publishing web services via DOSGi in Equinox >>>> with the single distribution bundle 1.3. I can successfully >>>> create the service when both, the web service interface and >>>> the interface implementation are located in the same bundle. >>>> However, when put both into separate bundles the server gets >>>> still successfully created (also the published *.wsdl-file >>>> stays the same) but I always receive "null" for any web >>>> service request. For the client side I'm using the >>>> ClientProxyFactoryBean factory. All requests to the server >>>> return correct responses when interface and implementation of >>>> the server are located in the same bundle. >>>> >>>> My main goal is to access the server's interface.class file >>>> on the client-side. I don't want to generate my stub with >>>> wsimport or wsdl2java. >>>> >>>> In the approach that I tried to realize first I would get >>>> the solution because both OSGi platforms can access an >>>> "interface-bundle" because it's synced via SVN. >>>> >>>> Cheers, >>>> >>>> Thomas
