[
https://issues.apache.org/jira/browse/CXF-6472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14599223#comment-14599223
]
Sergey Beryozkin commented on CXF-6472:
---------------------------------------
Unfortunately this issue is invalid. ContextResolver is not a mechanism to
override the runtime providing the standard contexts. As far as I know its
primary and only use is to have it working alongside a JAXB provider, it even
has a mediaType parameter in one of its methods for supporting a media type
version strategy.
I believe RI, RestEasy, and indeed CXF all offer its own mechanisms to support
the injection of custom providers, in case of CXF it is ContextProvider. I know
there's a demand to support the custom contexts in a standard way in 2.0.
However, putting the issue of ContextResolver aside, I agree the issue of
whether a framework-specific mechanism (CXF ContextProvider) can be used to
override the contexts which the runtime is expected to offer by default, i.e,
if say ContextProvider<UriInfo> is available then should the runtime trust this
provider to offer a rather complex UriInfo implementation, etc ? I doubt it but
I'll double check
> Cannot create ContextResolver for class extending HttpServletRequest,
> HttpServletResponse, etc.
> -----------------------------------------------------------------------------------------------
>
> Key: CXF-6472
> URL: https://issues.apache.org/jira/browse/CXF-6472
> Project: CXF
> Issue Type: Bug
> Affects Versions: 3.0.4, 3.1.1
> Environment: all
> Reporter: tomek778
>
> I tried to wrap HttpServletRequest by using ContextProvider, lets assume such
> a simple implementation:
> @Provider
> public class CustomHttpRequestContextResolver implements
> ContextResolver<CustomHttpRequest> {
> @Context
> private HttpServletRequest request;
> public CustomHttpRequest getContext(Class<?> type) {
> return new CustomHttpRequest(request);
> }
> }
> However, before calling context provider CXF first calls
> JAXRSUtils.createServletResourceValue() method that tries to cast
> HttpServletRequest into my wrapped request and it fails with
> ClassCastException.
> I havent found in JAX_RS spec anything telling that such a ContextResolver is
> forbidden.This works also with Apache Wink.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)