Though using String.class will only work if the content type of the response is set to text/plain. It is possible to configure JAXB/JSON providers to recognize text/plain but perhaps it would be simpler to use say InputStream.class and then CXF IOUtils to easily copy it into String, for JSON at least.
cheers, Sergey -----Original Message----- From: Sergey Beryozkin [mailto:sbery...@progress.com] Sent: Mon 1/11/2010 2:16 AM To: users@cxf.apache.org; users@cxf.apache.org Subject: RE: How can I make WebClient in test return raw XML or JSON? Hi indeed, XMLSource could be a good option for handling the raw XML. String.class should help in retrieving raw XML/JSON... Document.class and JSONObject are not supported out of the box. I will update the (JAXP) Source provider to support Documents as well with a bit of indirection, or may add a new provider...Not sure about JSONObject, but given that Jettison uses it internally, may be it would be possible to return it too... thanks, Sergey -----Original Message----- From: Rob Schoening [mailto:robschoen...@gmail.com] Sent: Sun 1/10/2010 12:25 AM To: users@cxf.apache.org Subject: Re: How can I make WebClient in test return raw XML or JSON? Just ask for the kind of object you want, and CXF will abide: webClient.get(String.class); webClient.get(InputStream.class); webClient.get(Document.class); webClient.get(XMLSource.class); // probably what you want for picking through XML output in unit tests webClient.get(JSONObject.class); // this one actually might not be registered by default... RS On Sat, Jan 9, 2010 at 11:30 AM, KARR, DAVID (ATTCINW) <dk0...@att.com>wrote: > I'm moving forward with my unit tests with the embedded > JAXRSServerFactoryBean. On almost the first try, I got back the object > that I expected. I'm using Mockito to mock the physical resources that > my content controller uses. > > Although it's nice that the server unmarshalled the XML back into my > Java object, I'd actually like to have some testing where I examine the > raw XML or JSON that I get back. I don't see an obvious way to do that > with the WebClient class. Perhaps I shouldn't even be trying, and just > use HttpClient for this kind of test? >