我正在尝试进行 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/