【问题标题】:How to retrieve Activiti task-form using REST?如何使用 REST 检索 Activiti 任务表单?
【发布时间】:2017-11-29 17:34:20
【问题描述】:

我正在使用 activiti 社区版本 6.0。我浏览了文档,但看不到用于检索任务表单的 REST API。

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

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);
 }
} 

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

【问题讨论】:

  • 如果您在请求中发送一些身份验证详细信息会怎样?
  • 发送授权标头
  • 我尝试使用具有基本授权的邮递员调用相同的网址,但没有成功。

标签: java spring alfresco activiti


【解决方案1】:

请参考此documentation 以获取任务表单,如果您是从 activiti 外部发送请求,那么正如 Snickers3192 所说,您必须在请求中传递 activiti 授权标头。

【讨论】:

  • 社区版没有这个公共api
  • 请看,我已经更改了我的文档链接。
  • 表单数据不返回表单定义。它与任务表单 api 不同
  • 如何通过授权?我的意思是你如何获得传递的价值?
【解决方案2】:

您正在寻找使用第 6 版中的表单建模器重新构建的表单的表单定义 (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 就应该返回表单定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多