cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Resolved] (CXF-5235) Cannot use multiple ResponseReaderS
Date Wed, 28 Aug 2013 09:30:53 GMT


Sergey Beryozkin resolved CXF-5235.

    Resolution: Won't Fix
      Assignee: Sergey Beryozkin

Unfortunately not fixable due to the lack of type information in a given Response
> Cannot use multiple ResponseReaderS
> -----------------------------------
>                 Key: CXF-5235
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.6.8
>            Reporter: Chris Eineke
>            Assignee: Sergey Beryozkin
>            Priority: Critical
> I've created a factory that uses JAXRSClientFactory to create implementations of my service
interface classes.
> In the body of each method I create a list of providers to be used by JAXRSClientFactory.create,
some of them being ResponseReaderS. Here's an example:
>         JAXBElementProvider jaxbProvider = new JAXBElementProvider();
>         JSONProvider jsonProvider = new JSONProvider();
>         jsonProvider.setDropRootElement(true);
>         jsonProvider.setSupportUnwrapped(true);
>         jsonProvider.setConsumeMediaTypes(Service.ContentTypeSummary.PRODUCE_MEDIA_TYPES);
>         jsonProvider.setProduceMediaTypes(Service.ContentTypeSummary.CONSUME_MEDIA_TYPES);
>         List<Object> providers = Lists.newArrayList();
>         providers.add(jaxbProvider);
>         providers.add(jsonProvider);
>         providers.add(new ResponseReader(MyListV1.class));
>         providers.add(new ResponseReader(MyV1.class));
>         providers.add(new LoggingOutInterceptor(new PrintWriter(System.out)));
>         providers.add(new LoggingInInterceptor(new PrintWriter(System.out)));
>         return JAXRSClientFactory.create(
>             System.getProperty("service.url"),
>             MyRestfulService.class,
>             providers,
>             true);
> This particular service has two methods: one that returns a list of MyV1 and another
one that just returns a MyV1. Now, it seems that the web client under hood always uses the
first registered ResponseReader for any sort of response. If I call getMyV1 with the above
order, I get a CCE. It works fine when I call getMyListV1, though. If I switch the order around,
the service calls work vice versa as well.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message