Sergey-

Can you explain how this will work for already-instantiated interceptors
from DOSGi? I realized that there are some interceptors where I may want to
inject spring beans, so the annotation approach won't work for those. Will
there be a way to reference a spring-instantiated bean as the interceptor?

Thanks,
Jeff

On Mon, Jan 16, 2012 at 5:22 PM, Sergey Beryozkin-5 [via CXF] <
ml-node+s547215n515016...@n5.nabble.com> wrote:

> Dan, thanks for the fix/enhancement, I also updated DOSGi
> to check for custom interceptors & features passed along during the
> registration/lookup, possibly already instantiated, and also from
> Declarative Services...for WS & RS
>
> Just stopped short of also starting the trackers, may be later :-)
>
> Sergey
> On 16/01/12 16:03, Daniel Kulp wrote:
>
> > 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]<
> >>
> >> [hidden email] <http://user/SendEmail.jtp?type=node&node=5150169&i=0>>
>  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.
>
>
> --
> 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-tp5143924p5150169.html
>  To unsubscribe from Custom interceptors with DOSGi, click 
> here<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5143924&code=am1lbGJ5QGdtYWlsLmNvbXw1MTQzOTI0fC02NTQzMjczNTA=>
> .
> NAML<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.InstantMailNamespace&breadcrumbs=instant+emails%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>


--
View this message in context: 
http://cxf.547215.n5.nabble.com/Custom-interceptors-with-DOSGi-tp5143924p5151596.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to