I just tried, setting the member-type to service-object this gives me the same result. Reason why am doing the whole blueprint are to avoid knowing about servicereferences.
On Mon, May 18, 2015 at 2:34 PM, Charlie Mordant <[email protected]> wrote: > Hi, > > Can you try to change your setter argument to a ServiceReference? Or setting > the 'member-type="service-object"' attribute in your <reference-list/>? > Here are some sources that can help: > http://aries.apache.org/modules/blueprint.html and > http://www.ibm.com/developerworks/library/os-osgiblueprint/ > > Regards, > > 2015-05-18 13:57 GMT+02:00 nino martinez wael > <[email protected]>: >> >> So Im still stumbling a bit around this, and not sure what todo... >> >> On Mon, May 18, 2015 at 11:09 AM, nino martinez wael >> <[email protected]> wrote: >> > Setter is correct: >> > >> > https://paste.apache.org/e5ld >> > >> > And BackendBImplement does implement the interface >> > >> > https://paste.apache.org/4pOv >> > >> > Heres the interface: >> > >> > package com.netdesign.osgi.examples.rest.domain; >> > >> > /** >> > * Created by nmw on 14-05-2015. >> > */ >> > public interface MessageProvider { >> > >> > String getMessage(); >> > } >> > >> > >> > I've probably made some simple mistake..Other than that im thinking of >> > class loader conflicts.. >> > >> > On Mon, May 18, 2015 at 10:03 AM, Jean-Baptiste Onofré <[email protected]> >> > wrote: >> >> Hi, >> >> >> >> Check if the setter has the correct type. Check also if the >> >> BackendBImplement implements MessageProvider. >> >> >> >> Regards >> >> JB >> >> >> >> >> >> On 05/18/2015 09:40 AM, nino martinez wael wrote: >> >>> >> >>> Hi im having a little difficulty getting my services to get "injected" >> >>> via a blueprint, the service are injected but when trying to use it, >> >>> it fails with this exception: >> >>> >> >>> Proxyac192a6f_60ad_44a3_8470_75b9a9054462 cannot be cast to >> >>> com.netdesign.osgi.examples.rest.domain.MessageProvider >> >>> java.lang.ClassCastException >> >>> >> >>> Service registration (in one bundle, interfaces in a shared bundle): >> >>> >> >>> <bean id="backendB" >> >>> >> >>> class="com.netdesign.osgi.examples.rest.backendb.BackendBImplementation" >> >>> /> >> >>> <service id="serviceB" ref="backendB" >> >>> interface="com.netdesign.osgi.examples.rest.domain.MessageProvider" >> >>> ranking="2"/> >> >>> >> >>> >> >>> Service consumer (another bundle) >> >>> <bean id="htmlServer" >> >>> class="com.netdesign.osgi.examples.rest.endpoint.HtmlServer"> >> >>> <!-- <property name="messageProvider" >> >>> ref="messageProviderService" /> --> >> >>> </bean> >> >>> >> >>> <reference-list >> >>> interface="com.netdesign.osgi.examples.rest.domain.MessageProvider"> >> >>> <reference-listener ref="htmlServer" >> >>> bind-method="setMessageProvider"/> >> >>> </reference-list> >> >>> >> >>> <!--<reference id="messageProviderService" >> >>> >> >>> >> >>> interface="com.netdesign.osgi.examples.rest.domain.MessageProvider"></reference>--> >> >>> >> >>> I started using the commented out stuff since it was simpler, when >> >>> fail I switched. >> >>> >> >>> >> >>> >> >>> >> >>> >> >> >> >> -- >> >> Jean-Baptiste Onofré >> >> [email protected] >> >> http://blog.nanthrax.net >> >> Talend - http://www.talend.com >> > >> > >> > >> > -- >> > Best regards / Med venlig hilsen >> > Nino Martinez >> >> >> >> -- >> Best regards / Med venlig hilsen >> Nino Martinez > > > > > -- > Charlie Mordant > > Full OSGI/EE stack made with Karaf: > https://github.com/OsgiliathEnterprise/net.osgiliath.parent -- Best regards / Med venlig hilsen Nino Martinez
