2015-07-15 15:33 GMT+02:00 Chris Wolf <[email protected]>:
> Jose,
>
> Thanks for the suggestion, but if you look at the code snippet in my
> original message, you can see that I already have "providers.add(new
> JSONProvider());", unless I missed something.

I see

 providers.add(JSONProvider.class);

am I wrong ?




>
> Thanks,
>
> Chris
>
> On Wed, Jul 15, 2015 at 2:56 AM, Jose María Zaragoza
> <[email protected]> wrote:
>> 2015-07-14 19:26 GMT+02:00 Chris Wolf <[email protected]>:
>>> Again, referring to the example code at:
>>>
>>> https://cwiki.apache.org/confluence/display/CXF20DOC/JAXRS+Testing
>>>
>>> This client code works:
>>>
>>>     @Test
>>>     public void testGetBookWithProxy() {
>>>         MyJaxrsResource client =
>>> JAXRSClientFactory.create(ENDPOINT_ADDRESS, MyJaxrsResource.class);
>>>         
>>> WebClient.getConfig(client).getRequestContext().put(LocalConduit.DIRECT_DISPATCH,
>>> Boolean.TRUE);
>>>         WebClient.getConfig(client).setBus(bus);
>>>         Response r = client.getBook("123");
>>>         String bookJSON = r.readEntity(String.class);
>>>         log.info("JAXRS Client result: {}", bookJSON);
>>>     }
>>>
>>> ...but this client code (which should try to unmarshall to object) doesn't 
>>> work:
>>>
>>>     @Test
>>>     public void testGetBookWithWebClient() {
>>>         List<Object> providers = new ArrayList<Object>();
>>>         // add custom providers if any
>>>         providers.add(JSONProvider.class);
>>>
>>>         WebClient client = WebClient.create(ENDPOINT_ADDRESS, providers);
>>>         client.accept("application/json");
>>>         client.path("shelf/book");
>>>         Book book = client.query("id", 123L).get(Book.class);
>>>         assertEquals(123L, book.getId());
>>>     }
>>>
>>>
>>> The error is:
>>>
>>> ResponseProcessingException: No message body reader has been found for
>>> class CXF_Test.cxf_test.Book, ContentType: application/json
>>>
>>> However, as can be seen, I configured the "JSONProvider", which I
>>> thought would unmarshal JSON to POJOs.
>>>
>>> Any ideas?
>>
>>
>>
>>
>> Why don't you try
>>
>> providers.add(new JSONProvider());
>>
>> ?
>>
>> This worked for me.
>>
>> Regards

Reply via email to