Hi,
For some reason, I removed the .accept line, built, it didn't work, put
it back in, built, and it worked. I have absolutely no idea what was
different. There must be ghosts in my machine...
Cool, thanks for the confirmation
cheers, Sergey
Thanks for the help.
Jeff
-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]]
Sent: Thursday, July 21, 2011 3:07 AM
To: [email protected]
Subject: Re: Multipart and WebClient
Hi,
I need to take an incoming file and send it to a third party. For
memory purposes, I'm dealing with InputStreams on the fly. I've
copied the code essentially from the jaxrs Multipart page on the CXF
website, from the section uploading files....
WebClient client = WebClient.create(<endpoint removed>)
.accept(MediaType.APPLICATION_JSON)
.type(MediaType.MULTIPART_FORM_DATA_TYPE);
ContentDisposition cd= new ContentDisposition("form-data;
name=\"file\"; filename=\""+consult.getFilename()+"\"");
Attachment att = new Attachment("file", new
ByteArrayInputStream(file), cd); MultipartBody body = new
MultipartBody(att); String resp = client.post(body, String.class);
However, when I run this code, I get:
No message body writer found for class : class
org.apache.cxf.jaxrs.ext.multipart.MultipartBody
Am I using the wrong class or did I not configure something correctly?
Any help would be greatly appreciated.
Something is interfering, the above code looks fine - I updated one of
the existing tests (client part only) and did not get this exception.
I can see the Message.properties resource 'losing' a content-type value
which was passed to it during the exception handling, needs to be fixed,
but I think something else is interefing.
By the way, default JSONProvider does not handle Strings...
If you can get CXF source and put a breakpoint in
MulipartProvider.isWriteable then it would provide an answer -
alternatively please create a test project and attach it to JIRA...
Cheers, Sergey
Thanks!
Jeff Wang