私はここで困惑しています。私はPNGファイルをRESTサービスにアップロードするテストを開発しており、引き続き406としてNot Acceptableを返すようになっています。ここで PNGファイルをアップロードすると状態406になります。
Apr 12, 2017 12:20:17 PM com.sun.jersey.api.client.filter.LoggingFilter log
INFO: 1 * Client out-bound request
1 > POST http://localhost:7001/api/1/payments/XT491926022464/attachments
1 > Accept: application/xml
1 > Content-Type: multipart/form-data; boundary=---------------------------1492014017228
1 > Api-Key: 2222
1 > Authorization: Bearer 1152921504606857464
-----------------------------1492014017228
Content-Type: text/plain
Content-Disposition: form-data; name="requestId"
1234
-----------------------------1492014017228
Content-Type: text/plain
Content-Disposition: form-data; name="file"
BankCustomerAttachmentTestImage.PNG
-----------------------------1492014017228
Content-Type: text/plain
Content-Disposition: form-data; name="description"
TEST
-----------------------------1492014017228
Content-Type: application/octet-stream
Content-Disposition: form-data; filename="junit8251833935221639216.tmp"; name="file"
...
が応答である:私はジャージ-バンドルここ1.19.3
を使用しています
が要求され
Apr 12, 2017 12:20:17 PM com.sun.jersey.api.client.filter.LoggingFilter log
INFO: 1 * Client in-bound response
1 < 406
1 < Access-Control-Allow-Headers: Content-Type
1 < Access-Control-Allow-Origin: *
1 < Date: Wed, 12 Apr 2017 16:20:17 GMT
1 < Content-Length: 14
1 < Access-Control-Allow-Methods: GET, POST, DELETE, PUT
1 < Content-Type: text/html; charset=UTF-8
1 < Connection: close
1 < X-Powered-By: Servlet/3.0 JSP/2.2
1 <
Not Acceptable
そして、ここのコードです...何私は間違っている?
あなたは、クライアントが唯一のアプリケーション/ XMLコンテンツ・タイプを受け入れることを示しているあなたの要求でDefaultClientConfig config = new DefaultClientConfig();
Client restClient = Client.create(config);
restClient.addFilter(new LoggingFilter());
WebResource restWebResource = restClient.resource("http://...");
WebResource.Builder webResourceBuilder = restWebResource.accept(MediaType.APPLICATION_XML);
webResourceBuilder.type(MediaType.MULTIPART_FORM_DATA);
webResourceBuilder.header(RESTActor.HEADER_API_KEY, "1234");
webResourceBuilder.header(HttpHeaders.AUTHORIZATION, "Bearer " + "1152921504606857464");
FileDataBodyPart fileDataBodyPart = new FileDataBodyPart("file", fileObject, MediaType.APPLICATION_OCTET_STREAM_TYPE);
fileDataBodyPart.setContentDisposition(
FormDataContentDisposition.name("file").fileName(fileObject.getName()).build());
FormDataMultiPart multiPartForm = new FormDataMultiPart();
multiPartForm.field("requestId", "1234");
multiPartForm.field("file", "BankCustomerAttachmentTestImage.PNG");
multiPartForm.field("description", "TEST");
multiPartForm.bodyPart(fileDataBodyPart);
multiPartForm.setMediaType(MULTIPART_FORM_DATA_TYPE);
final String boundary = "---------------------------" + System.currentTimeMillis();
ClientResponse currentRestClientResponse =
webResourceBuilder.type(MediaType.MULTIPART_FORM_DATA + "; boundary=" + boundary).post(ClientResponse.class, multiPartForm);
サーバーはXMLを返すとしていますか?私はそれが戻り値の型 –