java - jBPM 6.1 人工任务 REST 开始/完成

标签 java rest jbpm business-process-management

我正在尝试进行 REST POST 调用来启动人工任务:

http://Administrator:superman@bpm.server.com/jbpm-console/rest/task/1/start

taskId 1 实际上是由用户john.doe保留的,当我执行调用时,服务器会响应一个状态: 406 - 冲突

我在文档中读到,管理员用户可以执行任务的所有操作。

除了执行 REST 调用的用户之外,我是否还必须传递另一个参数来指示哪个 userId 正在执行该操作?有谁知道这个参数是怎么调用的吗?尝试了所有明显的名称,仍然抛出错误。谢谢。

编辑:

我正在添加服务器响应:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <exception>
    <status>PERMISSIONS_CONFLICT</status>
    <url>http://127.0.0.1:8080/jbpm-console/rest/task/1/start</url>
    <message>PermissionDeniedException thrown with message 'User '[UserImpl:'bc-admin']' does not have permissions to execute operation 'Start' on task id 1'</message>
    <stackTrace>org.kie.workbench.common.services.rest.RestOperationException: User '[UserImpl:'bc-admin']' does not have permissions to execute operation 'Start' on task id 1
    ...

编辑2:

任务属性是:

"people-assignments":{
  "potential-owner":[
    {"id":"HR","type":"GROUP"},
    {"id":"user@company.com","type":"USER"}],
  "business-administrator":[
    {"id":"Administrator","type":"USER"},
    {"id":"Administrators","type":"GROUP"}],
  "excluded-owners":[],
  "task-stakeholders":[],
  "recipients":[]}
  ...

提前致谢。

最佳答案

我在开始使用远程 API 时遇到了类似的错误,但我不完全确定,因为错误消息看起来可能被切断。如果您的错误消息以“由于没有‘当前状态’匹配”结尾,则您使用了错误的命令。在您的评论中,它说没有定义参与者,但定义了组。您可能会忘记在调用“开始”命令之前声明该任务。

您可以在执行命令之前检查任务的状态吗?我发现

Status         Expected Action
-------------------------------
Ready      --> Claim
Reserved   --> Start
InProgress --> Complete

关于java - jBPM 6.1 人工任务 REST 开始/完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28354011/

相关文章:

java - 用两个循环对数组进行排序实现

java - 如何允许使用错误 key 完成解密而不抛出 BadPaddingException?

ruby-on-rails - 如何让 Rails 将发布的字符串解析为 json 而不发送 'Content-type: application/json' header ?

java - 在多个键之一上缓存逐出

java - PropertyPlaceholderConfigurer 用于读取属性文件和数据库

REST - bool 参数命名约定

java - 使用 Jersey 在休息服务中仅消耗 csv

java - jbpm FORK-JOIN分支中节点的并发执行

workflow - JBPM 工作流补丁生成

java - Drools 规则中的全局变量