Я пытаюсь сделать вызов REST POST для запуска человеческой задачи с помощью этого:
http://Administrator:[email protected]/jbpm-console/rest/task/1/start
TaskId 1 фактически зарезервирован пользователем john.doe, и когда я выполняю вызов, сервер отвечает статусом: 406 - Conflict
Я прочитал в документации, что пользователю Администратора разрешено выполнять все действия для задач.
Должен ли я передать другой параметр, указывающий, какой userId выполняет действие, помимо того, кто выполняет вызов REST? Кто-нибудь знает, как вызывается этот параметр? Пробовал все очевидные имена и все еще выдавал ошибку. Благодарю.
РЕДАКТИРОВАТЬ:
Я добавляю ответ сервера:
<?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
...
EDIT 2:
Свойства Задачи:
"people-assignments":{
"potential-owner":[
{"id":"HR","type":"GROUP"},
{"id":"[email protected]","type":"USER"}],
"business-administrator":[
{"id":"Administrator","type":"USER"},
{"id":"Administrators","type":"GROUP"}],
"excluded-owners":[],
"task-stakeholders":[],
"recipients":[]}
...
Заранее спасибо.
Наконец и после долгого крика мне пришлось разбить REST API и добавить к нему функциональность, потому что он отсутствует.
У вас есть аналогичная ошибка, с которой я столкнулся, когда начинаю работать с удаленным API, но я не совсем уверен, поскольку сообщение об ошибке выглядит так, будто оно может быть отключено. Если ваше сообщение об ошибке заканчивается словами "из-за отсутствия текущего совпадения", вы используете неправильную команду. В ваших комментариях говорится, что участников не определено, но есть группы, определенные. Возможно, вы можете забыть заявить задачу перед вызовом команды "Пуск".
Вы можете проверить статус задачи перед выполнением команды. я нашел это
Status Expected Action
-------------------------------
Ready --> Claim
Reserved --> Start
InProgress --> Complete
В документах говорится, что бизнес-администратор задачи может выполнять любые действия, но не администратор системы.