Liferay:在添加文件条目json-rpc调用中出现问题

时间:2019-01-16 10:46:52

标签: liferay spring-rest json-rpc

我正在尝试使用Spring Rest模板从Java客户端调用add-file-entry post方法。但是让类强制转换异常...我想当我发送文件inputstream对象时,它将作为字符串使用,但是我在'is'参数之前使用+号来告诉liferay它是对象。但是仍然出现错误..请对此提供帮助或告诉我还有其他方法可以从Java客户端发布添加文件条目。

我已经尝试过使用multivaluemap和postforobject,但这也没有用。

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,“错误”:{“代码”:-32603,“消息”:“ java.lang.ClassNotFoundException:java.io.ByteArrayInputStream@275710fc”},“ jsonrpc” :“ 2.0”}作为响应。请帮助我。

0 个答案:

没有答案