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

Reply via email to