users@jersey.java.net

[Jersey] MessageBodyWriter not found for media type=text/plain

From: Noritaka Sekiyama <moomindani_at_gmail.com>
Date: Tue, 16 Jul 2013 23:14:27 +0900

Hello Jersey Users,


I wrote following code and got error "MessageBodyWriter not found for media type=text/plain".
I thought that it was because Feature.class corresponding to FileDataBodyPart must be registered to ClientBuilder.
But, I could not find such class.

How could I modify my code and avoid this error?

---
Client client = ClientBuilder.newBuilder().register(JacksonFeature.class).build();
final FileDataBodyPart filePart = new FileDataBodyPart("file", file);
Response response = target.request().put(Entity.entity(filePart, filePart.getMediaType()));
---
Here's stack trace. 
---
Exception in thread "main" org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=text/plain, type=class org.glassfish.jersey.media.multipart.file.FileDataBodyPart, genericType=class org.glassfish.jersey.media.multipart.file.FileDataBodyPart.
at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:191)
at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1005)
at org.glassfish.jersey.client.ClientRequest.writeEntity(ClientRequest.java:430)
at org.glassfish.jersey.client.HttpUrlConnector._apply(HttpUrlConnector.java:287)
at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:200)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:215)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:634)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:631)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:421)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:631)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:391)
at org.glassfish.jersey.client.JerseyInvocation$Builder.put(JerseyInvocation.java:285)
at com.clouddrive.dropbox.DropBoxController.uploadFile(DropBoxController.java:162)
at com.clouddrive.util.WatchDir.processEvents(WatchDir.java:200)
at com.clouddrive.CloudDrive.main(CloudDrive.java:111)
-- 
Noritaka Sekiyama
Twitter: @moomindani
Blog: mooapp http://moomindani.wordpress.com (http://moomindani.wordpress.com/)