[ 
https://issues.apache.org/jira/browse/CXF-4849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13585961#comment-13585961
 ] 

Sergey Beryozkin commented on CXF-4849:
---------------------------------------

Yes, reproduced with XML response.

This is due to the client not registering a customized provider, here is the 
code:

{code:java}

@Test
    public void testGetGenericBookSimple() throws Exception {
        JAXBElementProvider<?> provider = new JAXBElementProvider<Object>();
        provider.setExtraClass(new Class[]{BookStore.SimpleBook.class});
        WebClient wc = WebClient.create("http://localhost:"; + PORT + 
"/bookstore/genericbooks/simple",
                                        Collections.singletonList(provider));
        wc.accept("application/xml");
        GenericType<BookResponse<SimpleBook>> responseType = new 
GenericType<BookResponse<SimpleBook>>() {
        };
        BookResponse<SimpleBook> response = wc.get(responseType);
        SimpleBook book = response.getEntity(); 
        assertEquals("simple", book.getName());
    }

{code}

Note, you need to set this extra class on the client path too, or register your 
custom provider which will do it dynamically.

FYI, I'm not merging the above code as no source changes are needed, but hope 
this fragment will help. 

                
> WebClient needs to support JAX-RS 2.0 GenericType
> -------------------------------------------------
>
>                 Key: CXF-4849
>                 URL: https://issues.apache.org/jira/browse/CXF-4849
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>            Reporter: Sergey Beryozkin
>            Assignee: Sergey Beryozkin
>             Fix For: 2.8.0, 2.7.4
>
>
> This is useful for processing generic responses, example,
> {code:java}
> GenericType<List<Book>> genericResponseType = new GenericType<List<Book>>() 
> {};
> List<Book> books = webClient.get(genericResponseType);
> // or
> List<Book> books = webClient.post(someObject, genericResponseType);
> {code}

--
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