[ 
https://issues.apache.org/jira/browse/CXF-5235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

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: https://issues.apache.org/jira/browse/CXF-5235
>             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: http://www.atlassian.com/software/jira

Reply via email to