Erro ao executar hAPI.startProcess

Ao executar hAPI.startProcess no evento de workflow beforeStateEntry, está gerando o seguinte erro:

Can't find method com.datasul.technology.webdesk.workflow.business.WorkflowDelegate.startProcess(string,number,java.lang.String,string,boolean,java.util.HashMap,boolean). (#25) in at line number 25

Já verifiquei as variaveis que são passadas para hAPI.startProcess, está tudo preenchido. Quando eu mudo o parâmetro completarTarefa de "false" para "true" o erro continua o mesmo.

O código é este (modificado do Dev):


function beforeStateEntry(sequenceId){
    log.info("#####################");    
    log.info("######STATE: " + sequenceId);
    log.info("#####################");    
    if (sequenceId == 9) {
        //log.info("###############ENTROU SEQ9");
        var responsavel = hAPI.getCardValue("codResponsavel");
        var area = hAPI.getCardValue("txt_areaproblema");
        var problema = hAPI.getCardValue("txt_problema");
        var numSolicitacao = getValue("WKNumProces");

        //log.info(""+ responsavel + "@" + area + "@" + problema + "@" + numSolicitacao);

        var users = new java.util.ArrayList();
        users.add(responsavel);

        var formData = new java.util.HashMap();

        formData.put("origem", numSolicitacao);
        formData.put("Area", area);
        formData.put("Problema", problema);
        log.info("###chegou no startprocess");  
        log.info("#####DADOS" + users + "@" + formData);
        //#####DADOS[01]@{Area=Callcenter, Problema=Transferir ligações entre ramais, origem=622}
        hAPI.startProcess("conhecimento", 4, responsavel, "Solicitação inicializada pela função hAPI", false, formData, false);


        log.info("###iniciou processs novo");
    }
}

Olá Vinícius, o terceiro parâmetro é uma lista de String e você está passando só uma String. Você deveria passar a sua variáveis users no lugar da variável responsável

Eu alterei o terceiro parametro, ao inves de “responsavel”, eu coloquei “users”. Só que agora está dando esse erro:
Erro ao salvar dados de formulário:

WFLYEJB0168: Could not find EJB with id UnknownSessionID [5366556951694867484850695267665566495548685370575157546969676666] (#25) in at line number 25

Eu alterei, porém agora está dando o seguinte erro: Erro ao salvar dados de formulário:

WFLYEJB0168: Could not find EJB with id UnknownSessionID [5366556951694867484850695267665566495548685370575157546969676666] (#25) in at line number 25

Teria como postar o log do fluig?

Como o log está grande, aqui está um Link para baixar o log: https://drive.google.com/open?id=1JskygWO-tYOS_KRhM-94582sGjfviusW

Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Ao que parece o problema é aqui “formData.put(“origem”, numSolicitacao);” está passando um Integer como valor do campo de formulário. Tente transformar esse cara pra String, acho que um toString() resolve: numSolicitacao.toString()

fiz a alteração, porém apareceu outro erro: A tarefa informada 4 não é válida. Log: https://drive.google.com/open?id=1x7lQ3sLryalqB1BVLr6t4TV5PPz7k2WP O processo que ele tenta criar existe e já até criei uns registros manualmente nele. A atividade 4 existe e ela é a atividade inicial (bolinha verde) do processo. Depois tem uma atividade normal (5) e depois a atividade final (9) (bolinha vermelha).

No caso você tem que colocar a atividade 5, e não a inicial. Ai você decide se quer ficar parado na inicial ou não pelo parâmetro completeTask do método startProcess

Funcionou! Só que o responsável da atividade ficou o usuário que estava logado, e não o que foi no parametro da função. Mas eu já li sobre isso em outro post, mas tá de boa! Muito obrigado Diogo!