Я пытаюсь вызвать метод записи add-file-entry из java-клиента, используя шаблон spring rest. Но получая исключение приведения класса ... я думаю, что когда я отправляю файл inputtream, объект .it идет как строка, но я использую знак + перед параметром 'is', чтобы сообщить liferay, что это объект. но все равно получаю сообщение об ошибке .., пожалуйста, помогите мне в этом или скажите, есть ли другой способ опубликовать запись add-file из java-клиента.
Я пытался использовать многозначную карту и пост-объект, но это также не сработало.
MultipartFile file = getMultipartFile();
//File convFile = new File( file.getOriginalFilename());
//file.transferTo(convFile);
JSONObject body = new JSONObject();
body.put("method", "add-file-entry");
body.put("jsonrpc", "2.0");
body.put("id", 0);
JSONObject param = new JSONObject();
param.put("repositoryId", 10156);
param.put("folderId", 521203);
param.put("sourceFileName", file.getOriginalFilename());
param.put("mimeType", file.getContentType());
param.put("title", file.getOriginalFilename());file.getInputStream();
param.put("description", StringPool.BLANK);
param.put("changeLog", StringPool.BLANK);
param.put("+is", file.getInputStream());
param.put("size", file.getSize());
param.put("serviceContext", "{}");
body.put("params", param);
System.out.println("printing");
System.out.println(body.toString());
HttpEntity<String> requestEntity =
new HttpEntity<>( body.toString(),getUserCredentialsAndHeaders());
ResponseEntity<String> response =
documentsRestTemplate.exchange(
"https://tst-lab2-navigator02.lab.hostedsolutions.com/api/secure/jsonws/dlapp",
HttpMethod.POST,
requestEntity,
String.class);
System.out.println(response);
Получение <200, {"id": 0, "error": {"code": - 32603, "message": "java.lang.ClassNotFoundException: java.io.ByteArrayInputStream@275710fc"}, "jsonrpc" : "2.0"} в качестве ответа. Пожалуйста, помогите мне в этом. </p>