On Monday, January 16, 2012 7:33:45 AM gaygeek wrote: > Yes--as you said, the export is there in my custom bundle, but the cxf > bundle has no way to import it to create the interceptor instance. > > Are you saying there is currently a way to do this, or that DOSGi will need > to be modified to allow custom interceptors? I think you are saying it is > not available currently, but that it would probably need to be a property > on the osgi service export configuration.
One thing we COULD try doing is updating the Annotations we have to actually support using Class objects. Right now, we have: public @interface InInterceptors { String[] interceptors(); } which means we need to do Class.forName things. We could expand this to: public @interface InInterceptors { String[] interceptors(); Class<? extends Interceptor>[] classes(); } or similar so that you could annotate with the actual class objects and not have to deal with the classloaders in OSGi. Dan > > Thanks, > Jeff > > On Mon, Jan 16, 2012 at 8:37 AM, Sergey Beryozkin-5 [via CXF] < > > ml-node+s547215n5148873...@n5.nabble.com> wrote: > > Ignore that please, keeping forgetting the cxf bundle does not import > > custom classes/ > > > > I think in DOSGi case, a new property would have to be introduced in > > time for custom CXF interceptors be picked up > > > > Cheers, Sergey > > > > On 16/01/12 12:25, Sergey Beryozkin wrote: > > > Does the custom bundle export "com.uhg.upm.webservice.interceptor" ? > > > > > > Sergey > > > > > > On 13/01/12 22:36, gaygeek wrote: > > >> I am trying to configure a custom interceptor for a web service > > >> I'm > > >> exposing > > >> with DOSGi. However, it seems that the interceptor cannot be > > >> initialized via > > >> annotation, as the org.apache.cxf.bundle-minimal does not have > > >> access > > >> to my > > >> custom interceptor class from its bundle classloader. I get the > > > > following > > > > >> error when starting my bundle with the service in it (which DOES > > >> have > > >> access > > >> to the package that my SoapFaultInterceptor is in). It seems like > > >> the > > >> only > > >> way to make it work would be to hack the MANIFEST.MF for the > > >> org.apache.cxf.bundle-minimal to import my bundle with the custom > > >> interceptor. > > >> > > >> Is there a different way to configure custom interceptors with > > >> DOSGi? > > >> Or am > > >> I missing something in order to allow the annotations to work? > > >> > > >> Annotations for the WebService interface: > > >> @WebService(name = "HelloService", targetNamespace = > > >> "http://upm.uhc.com/example/hello") > > >> @OutFaultInterceptors(interceptors = > > >> {"com.uhg.upm.webservice.interceptor.SoapFaultInterceptor"}) > > >> public interface HelloService > > >> > > >> Exception when starting my bundle with the HelloService in it: > > >> Exception in thread "pool-1-thread-4" > > >> org.apache.cxf.interceptor.Fault: Could not create annotation > > >> object: > > >> com.uhg.upm.webservice.interceptor.SoapFaultInterceptor > > >> at > > > > org.apache.cxf.interceptor.AnnotationInterceptors.initializeAnnotationOb > > jects(AnnotationInterceptors.java:79)> > > >> at > > > > org.apache.cxf.interceptor.AnnotationInterceptors.getAnnotationObject(An > > notationInterceptors.java:48)> > > >> at > > > > org.apache.cxf.interceptor.AnnotationInterceptors.getAnnotationIntercept > > orList(AnnotationInterceptors.java:102)> > > >> at > > > > org.apache.cxf.interceptor.AnnotationInterceptors.getOutFaultInterceptor > > s(AnnotationInterceptors.java:122)> > > >> ... > > >> Caused by: java.lang.ClassNotFoundException: > > >> com.uhg.upm.webservice.interceptor.SoapFaultInterceptor not found > > >> by > > >> org.apache.cxf.bundle-minimal [57] > > >> at > > > > org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(Mo > > duleImpl.java:812)> > > >> at > > >> org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java: > > >> 72) > > >> > > >> Thank you for any insight into this issue. > > >> > > >> -Jeff > > >> > > >> -- > > > > >> View this message in context: > > http://cxf.547215.n5.nabble.com/Custom-interceptors-with-DOSGi-tp5143924 > > p5143924.html> > > >> Sent from the cxf-user mailing list archive at Nabble.com. > > > > -- > > Sergey Beryozkin > > > > Talend Community Coders > > http://coders.talend.com/ > > > > Blog: http://sberyozkin.blogspot.com > > > > > > ------------------------------ > > > > If you reply to this email, your message will be added to the > > discussion > > > > below: > > > > http://cxf.547215.n5.nabble.com/Custom-interceptors-with-DOSGi-tp5143924 > > p5148873.html> > > To unsubscribe from Custom interceptors with DOSGi, click > > here<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=u > > nsubscribe_by_code&node=5143924&code=am1lbGJ5QGdtYWlsLmNvbXw1MTQzOTI0f > > C02NTQzMjczNTA=>> > > . > > NAML<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=macr > > o_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespac > > es.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.w > > eb.template.InstantMailNamespace&breadcrumbs=instant+emails%21nabble%3Ae > > mail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabb > > le%3Aemail.naml> > -- > View this message in context: > http://cxf.547215.n5.nabble.com/Custom-interceptors-with-DOSGi-tp5143924p51 > 49014.html Sent from the cxf-user mailing list archive at Nabble.com. -- Daniel Kulp dk...@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com