[ https://issues.apache.org/jira/browse/CXF-6190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14271048#comment-14271048 ]
Sergey Beryozkin commented on CXF-6190: --------------------------------------- Oh, are you saying that in your case a context based injection into a field does not work ? This is often the case when the service object gets proxified... > HttpServletRequest injection via Context in setter > -------------------------------------------------- > > Key: CXF-6190 > URL: https://issues.apache.org/jira/browse/CXF-6190 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.0.3 > Reporter: Zdeněk Obst > > I'm trying to inject HttpServletRequest to my JAX-RS resource via @Context > annotation. It works fine if I inject it via method parameter. But I don't > want to "mess" my interfaces with that so I'd like to inject it via setter. > I use this simple method (I'm using Kotlin but I the issue should be the same > for Java): > {code:java} > var req : HttpServletRequest? = null > Context > fun setRequest(req : HttpServletRequest) { > this.req = req > } > {code} > The thing is, that the setter is called via reflection in > org.apache.cxf.jaxrs.utils.InjectionUtils in method injectThroughMethod. The > method name is correct but as parameter value is instance of > ThreadLocalHttpServletRequest which clearly is not HttpServletRequest (it is > not inherited class) so this gets thrown: > java.lang.IllegalArgumentException: object is not an instance of declaring > class -- This message was sent by Atlassian JIRA (v6.3.4#6332)