Problema no chamada do StartProcess

bom dia pessoal tudo bem? Seguinte estou tentando criar uma solicitação a partir de um dataset e estou utilizando o processso startProcess. Instanciei o serviço e quiando envio os parametros ocorre o erro "Cant find method " Método não encontrado. Esse é o codigo que estou passando. Em anexo o print do erro.

try { // Obtém a instância do serviço 'WorkflowEngineService' var workflowEngineServiceProvider = ServiceManager.getServiceInstance("ECMWorkflowEngineService");

log.info("### dsTotvsStratProcessRecapeamento MSN01 ");

// Instancia o serviço var workflowEngineServiceLocator = workflowEngineServiceProvider.instantiate("com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService");

log.info("### dsTotvsStratProcessRecapeamento MSN02 ");

var workflowEngineService = workflowEngineServiceLocator.getWorkflowEngineServicePort();

log.info("### dsTotvsStratProcessRecapeamento MSN03 "); // Cria o ObjectFactory var objectFactory = workflowEngineServiceProvider.instantiate("net.java.dev.jaxb.array.ObjectFactory");

log.info("### teste MSN04 ");

//var userId = "totvs"; var userId = new java.util.ArrayList(); userId.add("totvs"); // Matriz de string

var cardData = new java.util.HashMap(); cardData.put("txtTipoSolicitao", "PENDENTE"); cardData.put("txtNomeSolicitante", "JOAO CARLOS DA SILVA");

//cardData.getItem().add(texto); log.info("### MSN05 ");

// Array de anexos var processAttachmentDtoArray = workflowEngineServiceProvider.instantiate("com.totvs.technology.ecm.workflow.ws.ProcessAttachmentDtoArray");

log.info("### MSN06 processAttachmentDtoArray : " + processAttachmentDtoArray);

// Array com a id dos usuários //var colleaguesId = objectFactory.createStringArray();

log.info("### MSN07 ");

//colleaguesId.getItem().add("totvs"); var colleaguesId = new java.util.ArrayList(); colleaguesId.add("totvs");

log.info("### MSN08 ");

// Array de apontamentos var appointment = workflowEngineServiceProvider.instantiate("com.totvs.technology.ecm.workflow.ws.ProcessTaskAppointmentDtoArray");;

//var appointment = null;

log.info("### MSN010 appointment " + appointment );

// Cria uma solicitação com os dados obtidos workflowEngineService.startProcess("totvs", "123", 1, "SolicitacaoRecapeamento", 5, colleaguesId, "Comentário: Movimentando automaticamente", userId, false, processAttachmentDtoArray, cardData, appointment, false);

log.info("### MSN11 : " ); } catch(error){

log.info("### ERRO: " + error); }

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Bom dia Weslley,

a assinatura do método startProcess é:


workflowEngineService.startProcess(string, string, number, string, number, net.java.dev.jaxb.array.StringArray, string, string, boolean, com.totvs.technology.ecm.workflow.ws.ProcessAttachmentDtoArray, net.java.dev.jaxb.array.StringArrayArray, com.totvs.technology.ecm.workflow.ws.ProcessTaskAppointmentDtoArray, boolean);

Então não é utilizado o ArrayList do java diretamente. Você teria que alterar seus parâmetros userId, colleaguesId e cardData:


// userId é somente uma string
var userId = "totvs";

// colleaguesId é um StringArray
var colleaguesId = workflowEngineServiceProvider.instantiate("net.java.dev.jaxb.array.StringArray");
colleaguesId.getItem().add("totvs");

// cardData é um StringArrayArray
var cardData = workflowEngineServiceProvider.instantiate("net.java.dev.jaxb.array.StringArrayArray");

// Adiciona campo 1 no cardData
var txtTipoSolicitao = workflowEngineServiceProvider.instantiate("net.java.dev.jaxb.array.StringArray");
txtTipoSolicitao.getItem().add("txtTipoSolicitao");
txtTipoSolicitao.getItem().add("PENDENTE");
cardData.getItem().add(txtTipoSolicitao);

// Adiciona campo 2 no cardData
var txtNomeSolicitante = workflowEngineServiceProvider.instantiate("net.java.dev.jaxb.array.StringArray");
txtNomeSolicitante.getItem().add("txtNomeSolicitante");
txtNomeSolicitante.getItem().add("JOAO CARLOS DA SILVA");
cardData.getItem().add(txtNomeSolicitante);

Diogo muito obrigado era isso mesmo! Deu certo aqui valeu!

Estou com problema ao fazer startProcess. O Solicitante esta ficando o mesmo que o responsável. E eu tenho certeza que estou colocando diferente, Alguma sugestão?

Estou com a mesmo dúvida sobre isso @larissa Cardoso