如何使用REST检索Activiti任务表单?

时间:2017-11-29 17:34:20

标签: java spring alfresco activiti

我正在使用activiti社区版6.0。我已经阅读了文档,但无法看到REST API来检索任务表单。

我注意到Activiti使用以下请求网址来获取表单定义:

http://localhost:8080/activiti-app/app/rest/task-forms/ {的TaskID}

我尝试使用此url和restTemplate来访问任务表单并导致401错误代码。

@Service
public class GetTaskForm {

String baseURL = "http://localhost:8080/activiti-app/app/rest/task-forms/";

public void getTaskForm(String taskId){
    String taskURL =  baseURL + taskId;
    RestTemplate restTemplate = new RestTemplate();
    String taskForm = restTemplate.getForObject(taskURL, String.class);
    System.out.println(taskForm);
 }
} 

实现这一目标的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

请参阅此documentation以获取任务表单,如果您要从activiti外部发送请求,则 Snickers3192 表示您必须在请求中传递activiti授权标头。

答案 1 :(得分:0)

您正在寻找使用版本6中的Form Modeler重新构建的表单的表单定义(JSON)。 记录的ReST API不支持返回它,因为它是orm引擎配置的一部分。如果你在activiti-ui / activiti-app-rest中查看源代码,你会发现表单引擎的ReST端点。

查找这些API文档的最佳位置是Alfresco企业版文档,因为企业版扩展了activiti-app实现:

http://docs.alfresco.com/process-services1.7/topics/task_form.html

社区版和企业版之间显然存在差距,但这应该可以满足您的需求。并且,只要您经过适当的身份验证,您列出的URL就应该返回表单定义。