Okay to avoid further confusion, I've put up my project here :
https://github.com/nmwael/osgi2versions

just run maven clean install -Dmaven.test.skip
then go in your favorite ide and run the test getHelloService() in
com.netdesign.osgi.examples.rest.endpoint located in the module
webservice_rest_test that should both give you the exception and bring
up an karaf with the installed non working bundles.

I'll check the final manifests..

On Mon, May 18, 2015 at 4:41 PM, Kevin Schmidt <[email protected]> wrote:
> Seeing your two manifests would possibly reveal the issue.
>
> At its simplest, your bundle with the interface in it should have:
>
> Export-Package: com.netdesign.osgi.examples.rest.domain
>
> And the bundle with the service implementation should have:
>
> Import-Package: com.netdesign.osgi.examples.rest.domain
>
> Like others have said, just letting the Maven bundle plugin do all this for
> you is the easiest way to go.
>
> On Mon, May 18, 2015 at 7:27 AM, nino martinez wael
> <[email protected]> wrote:
>>
>> I Will try to manually do it.. Currently it runs in an pax exam test..
>>
>> On May 18, 2015 3:29 PM, <[email protected]> wrote:
>>>
>>> Faced a similar ClassCastException some time back. Not sure whether it
>>> really make sense but just stating it here for your information. I had the
>>> service interfaces in one bundle (A), implementations in another bundle (B)
>>> and a number of consumers. Noticed the ClassCastException a few times if I
>>> issue a start command to A while starting B and consumers. This was
>>> happening with Karaf 3.0.0.
>>>
>>> -----Original Message-----
>>> From: nino martinez wael [mailto:[email protected]]
>>> Sent: Monday, May 18, 2015 6:48 PM
>>> To: [email protected]
>>> Subject: Re: Problems with Blueprint services
>>>
>>> Yes that is what I think i am doing.. If it helps I can clone my git to
>>> somewhere reachable? IT is a very basic example project just demonstrating a
>>> cxf rest front with 2 backend services with ranking.
>>>
>>> On Mon, May 18, 2015 at 3:11 PM,  <[email protected]> wrote:
>>> > You want to export the interface from the API bundle, import it into
>>> > the service bundle, let BP and the Maven plugin take care of exports
>>> >
>>> >
>>> >
>>> > On Mon, May 18, 2015 at 7:09 AM, nino martinez wael
>>> > <[email protected]> wrote:
>>> >>
>>> >> I did use * exports initially but did change it.
>>> >>
>>> >> To
>>> >> <Export-Service>com.netdesign.osgi.examples.rest.backendb.*</Export-S
>>> >> ervice> and commented out the export package part.
>>> >>
>>> >>
>>> >>
>>> >> On Mon, May 18, 2015 at 2:55 PM, <[email protected]> wrote:
>>> >> > I’m guessing you are using * exports and the API and Impl bundle
>>> >> > export the same interface.
>>> >> >
>>> >> >
>>> >> >
>>> >> > On Mon, May 18, 2015 at 3: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.MessageProvi
>>> >> >> >> der"> <reference-listener ref="htmlServer"
>>> >> >> >> bind-method="setMessageProvider"/>
>>> >> >> >> </reference-list>
>>> >> >> >>
>>> >> >> >> <!--<reference id="messageProviderService"
>>> >> >> >>
>>> >> >> >>
>>> >> >> >>
>>> >> >> >> interface="com.netdesign.osgi.examples.rest.domain.MessageProvi
>>> >> >> >> der"></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
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Best regards / Med venlig hilsen
>>> Nino Martinez
>>> The information contained in this electronic message and any attachments
>>> to this message are intended for the exclusive use of the addressee(s) and
>>> may contain proprietary, confidential or privileged information. If you are
>>> not the intended recipient, you should not disseminate, distribute or copy
>>> this e-mail. Please notify the sender immediately and destroy all copies of
>>> this message and any attachments. WARNING: Computer viruses can be
>>> transmitted via email. The recipient should check this email and any
>>> attachments for the presence of viruses. The company accepts no liability
>>> for any damage caused by any virus transmitted by this email. www.wipro.com
>
>



-- 
Best regards / Med venlig hilsen
Nino Martinez

Reply via email to