PRE_INVOKE. My main drive to upgrade was to use the RequestFilter on the newer version.
What is the equivalent of it in the previous version ? My intent is to trap every request and look for a specific header value and based on that I need to let it go forward or I need to redirect the request . If I use the interceptors , would the http servlet request/response be injected in the interceptor stage. Thanks On Wed, Nov 5, 2008 at 7:40 AM, Sergey Beryozkin < [EMAIL PROTECTED]> wrote: > Actually, forgot to ask : > > so what stage your custom inInterceptor is using ? > > > Cheers, Sergey > > ----- Original Message ----- From: "Sergey Beryozkin" < > [EMAIL PROTECTED]> > To: <[email protected]> > Sent: Wednesday, November 05, 2008 3:28 PM > Subject: Re: @Resource Injection not working > > > > Hi >> >> That did the trick but the providers which I had written started >>> complaining, question is are providers different now - my isWriteable() >>> method complains with AbstractMethodError. >>> >> >> 2.1.2 support 0.8 api and I think from 0.8 api the MessageBodyProviders >> have had their signatures changed >> >> I didn't understand your comment >>> about cxf interceptor but i'm using inInterceptor to read a specific >>> http >>> header entry, but I guess you do through Request Filters now. >>> >> >> It's ok if you use cxf input interceptors instead of RequestFilters (which >> are essentially collocated with a JAXRSInInterceptor which as a cxf input >> interceptor and it uses a PRE_STREAM phase) as long as they can do what >> you'd like them to do. You can use RequestFilters if you'd like to block a >> request, eitehr through a normal Response return or by throwing an exception >> whcih can be subsequently mapped using ExceptionMappers, etc... >> Using cxf input interceptors can be handy if you do both jaxrs and jaxws >> at the same time so you can reuse the same interceptor... >> >> >>> I had to roll back to previous version >>> >> >> I'm sorry :-) about that @Resource disaster - but I can see now you'd need >> to change the signatures anyway. >> >> I'd encourage you to try 2.1.3 - few bugs have been fixed there. >> >> Cheers, Sergey >> >> >>> On Tue, Nov 4, 2008 at 4:14 AM, Sergey Beryozkin < >>> [EMAIL PROTECTED]> wrote: >>> >>> Hi >>>> It's a regression. Since 2.1.2, thread local proxies are used when the >>>> field or setter method injection is required, and as part of that work >>>> the >>>> @Resource filed injection got broken. I've got it fixed with a test in >>>> my >>>> snapshot - but it'll only be available shortly in 2.1.3-SNAPSHOT. >>>> >>>> In meantime - please change @Resource to @Context and it will work fine. >>>> Supporting @Resource is still optional AFAIK and I was not paying good >>>> attention to it... Sorry about it >>>> >>>> By the way - I can see you're using a CXF interceptor in your >>>> configuration >>>> - what stage your custom interceptor sits in - we'll need to update the >>>> JAXRSInInterceptor's phase a bit so we need to be careful not to break >>>> some >>>> existing interceptors... >>>> >>>> Cheers, Sergey >>>> >>>> >>>> I just did an upgrade to cxf 2.1.2 and my injection is not working now. >>>> I >>>> >>>>> can't figure out >>>>> >>>>> my beans.xml and sample code is below >>>>> >>>>> <?xml version=*"1.0"* encoding=*"UTF-8"*?> >>>>> >>>>> <beans xmlns=*"http://www.springframework.org/schema/beans"* >>>>> >>>>> xmlns:xsi=*"http://www.w3.org/2001/XMLSchema-instance"* >>>>> >>>>> xmlns:jaxrs=*"http://cxf.apache.org/jaxrs"* >>>>> >>>>> xmlns:cxf=*"http://cxf.apache.org/core"* >>>>> >>>>> xsi:schemaLocation=*" >>>>> >>>>> http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd >>>>> >>>>> http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd >>>>> >>>>> http://www.springframework.org/schema/beans >>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"*> >>>>> >>>>> <import resource=*"classpath:META-INF/cxf/cxf.xml"* /> >>>>> >>>>> <import >>>>> resource=*"classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"* >>>>> /> >>>>> >>>>> <import resource=*"classpath:META-INF/cxf/cxf-servlet.xml"* /> >>>>> >>>>> <jaxrs:server id=*"documentQ"* address=*"/"*> >>>>> >>>>> <jaxrs:serviceBeans> >>>>> >>>>> <ref bean=*"docQService"*/> >>>>> >>>>> </jaxrs:serviceBeans> >>>>> >>>>> <jaxrs:providers> >>>>> >>>>> <bean class=*"org.gg.providers.MapProvider"* /> >>>>> >>>>> </jaxrs:providers> >>>>> >>>>> <jaxrs:inInterceptors> >>>>> >>>>> <bean class=*"org.gg.interceptors.SessionInterceptor"* /> >>>>> >>>>> </jaxrs:inInterceptors> >>>>> >>>>> <jaxrs:features><cxf:logging /></jaxrs:features> >>>>> >>>>> </jaxrs:server> >>>>> >>>>> <bean id=*"docQService"* class=*"org.gg.services.LoginService"*></bean> >>>>> >>>>> </beans> >>>>> >>>>> >>>>> >>>>> and my sample code >>>>> >>>>> >>>>> >>>>> */ >>>>> >>>>> @Path("/Login") >>>>> * >>>>> >>>>> public* *class* LoginService >>>>> >>>>> { >>>>> >>>>> *private* *static* *final* Logger *logger* = Logger.*getLogger* >>>>> (LoginService.*class*); >>>>> >>>>> @Resource HttpServletRequest request; >>>>> >>>>> @Resource HttpServletResponse response; >>>>> >>>>> @Resource ServletContext servletContext; >>>>> >>>>> >>>>> >>>>> @POST >>>>> >>>>> @Path("/authenticate") >>>>> >>>>> //@ConsumeMime("application/x-*www*-form-*urlencoded*") >>>>> >>>>> @ConsumeMime("*/*") >>>>> >>>>> *public* Response login(MultivaluedMap<String, String> parameters) >>>>> >>>>> { >>>>> >>>>> String userID = *null*; >>>>> >>>>> *if* (request.getSession().getAttribute("employee") == *null*) { >>>>> >>>>> my request here is coming null >>>>> >>>>> >>>>> >>>> >>> >> >
