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

Reply via email to