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

Reply via email to