Мое приложение взаимодействует с рабочим процессом Alfresco с помощью REST. Есть задача, связанная с объектом типа cm:person, ее значение должно быть получено от конечного пользователя для использования в качестве исполнителя следующей задачи. Как я могу установить это значение с помощью REST ??
Я попытался отправить HTTP-запрос «PUT» (тип содержимого: приложение/json) по URL-адресу.
http://localhost:8080
/alfresco/service/api/task-instances/activiti$11102
и запрос тела:
{ "cio_employee": "рабочая область://SpacesStore/bcb9817f-5778-484b-be16-a388eb18b5ab" }
где «workspace://SpacesStore/bcb9817f-5778-484b-be16-a388eb18b5ab» — это ссылка на администратора, но когда я завершаю задачу (также с помощью REST), Alfresco выдает ошибку:
...
Вызвано: org.activiti.engine.ActivitiException: неизвестное свойство, используемое в выражении: ${cio_employee.properties.userName} ... Вызвано: org.activiti.engine.impl.javax.el.PropertyNotFoundException: не удалось найти свойства свойства в классе java.lang.String
Ниже приведена задача и ее модельное определение:
// Задача пользователя:
<userTask id="assignHandler" name="Assign Employee" activiti:assignee="admin"
activiti:formKey="cio:assignEmployeeTask">
<documentation>Please, Assign employee to the next task</documentation>
<extensionElements>
<activiti:taskListener event="complete"
class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string>
execution.setVariable('cio_employee',
task.getVariable('cio_employee'));
</activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>
////////////////////////////////////////////////// ///////// //Модель ...
<types>
...
<type name="cio:assignEmployeeTask">
<parent>bpm:workflowTask</parent>
<mandatory-aspects>
<aspect>cio:employee</aspect>
</mandatory-aspects>
</type>
...
</types>
...
<aspects>
<aspect name="cio:employee">
<associations>
<association name="cio:employee">
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>true</mandatory>
<many>false</many>
</target>
</association>
</associations>
</aspect>
</aspects>
////////////////////////////////////////////////////////////////////////