Search code examples
bonita

Troubles Bonita and Java


When I try to consume a task in Bonita from Eclipse, I have this error:

POST http://localhost:8080/bonita/serverAPI/org.bonitasoft.engine.api.ProcessAPI/updateActivityInstanceVariables HTTP/1.1

2019-05-23 16:47:01,406 ERROR c.e.b.s.BPMService:206 - Exception org.bonitasoft.engine.exception.UpdateException: USERNAME=usuario | Some data does not exists, wanted to update [param1, param2] but there is only [] at org.bonitasoft.engine.api.HTTPServerAPI.invokeMethod(HTTPServerAPI.java:128) at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:86) at com.sun.proxy.$Proxy6.updateActivityInstanceVariables(Unknown Source) at com.example.bonita.service.BPMServiceImpl.updateProcess(BPMServiceImpl.java:144) at com.example.bonita.service.BPMServiceImpl.executeBPMTask(BPMServiceImpl.java:221)

My code is this:

boolean resolved = false;
String result = "";

APISession apisession = bpmService.createLogin(username, password);

pendingTasks.clear();
pendingTasks = processAPI.getPendingHumanTaskInstances(apiSession.getUserId(), 0, 30, null);

for (Iterator<HumanTaskInstance> i = pendingTasks.iterator(); i.hasNext();) {
    HumanTaskInstance item = i.next();
    if (item.getRootContainerId() == request.getInstanceId()) {
        taskid = item.getId();
        processAPI.updateActivityInstanceVariables(taskid, request.getVariables());

        resolved = true;
        break;
    }
}

My Bonita version in Maven is 7.8.4 and I'm use Eclipse.

Do you have any idea that I forget something?

Thank you


Solution

  • I was resolved this issue by replacing the method updateActivityInstanceVariables with executeUserTask(userId, taskid, listVariablesSerializable).