Web服务以获取图像上载功能.我收到以下异常:
Caused by: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class com.sun.jersey.multipart.FormDataMultiPart, and MIME media type, multipart/form-data, was not found at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:288) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:204) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147) ... 63 more
这是我正在使用的代码:
WebResource webResource = Client.create().resource(HTTP_REST_URI); JSONObject jSONObj = webResource.queryParams(queryParams) .type(MediaType.MULTIPART_FORM_DATA) .post(JSONObject.class, formDataMultiPart);
如何解决这个异常?
创建客户端时注册MultiPartWriter提供程序:
ClientConfig cc = new DefaultClientConfig(); Client client; cc.getClasses().add(MultiPartWriter.class); client = Client.create(cc);
如果使用Maven,这些是你在pom.xml中需要的依赖项:
<dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.17.1</version> </dependency> <dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-multipart</artifactId> <version>1.17.1</version> </dependency>
翻译自:https://stackoverflow.com/questions/15585074/jersey-client-exception-a-message-body-writer-was-not-found