I’m trying to start a process from a java program, but stumped on how I can pass the contract values over. The following code fails with
“Error while validating expected inputs: [Expected input [inputForm] is missing]”
But as you can see, the “inputForm” is indeed provided in the code.
Any thoughts oh wise ones?
Thanks again
Chris
import java.util.*; import org.bonitasoft.engine.exception.*; import org.bonitasoft.engine.identity.*; import org.bonitasoft.engine.session.*; import org.bonitasoft.engine.util.*; import org.bonitasoft.engine.api.*; import java.io.*; class confirm { public static void instantiateProcess(String processDefinitionName, String processVersion, Map variables, APISession apiSession) { try { ProcessAPI processAPI = TenantAPIAccessor.getProcessAPI(apiSession); long processId = processAPI.getProcessDefinitionId(processDefinitionName, processVersion); processAPI.startProcess(processId, variables); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { Map settings = new HashMap(); settings.put("server.url", "http://localhost:8080"); settings.put("application.name", "bonita"); APITypeManager.setAPITypeAndParams(ApiAccessType.HTTP, settings); APISession session = TenantAPIAccessor.getLoginAPI().login("username", "password"); String processDefinitionName = "Confirm Signup"; String processVersion = "1.0"; Map varMap = new HashMap(); Map inputForm = new HashMap(); inputForm.put("value", "value-goes-here"); inputForm.put("status", "good!"); varMap.put("inputForm", (Serializable) inputForm); instantiateProcess(processDefinitionName, processVersion, varMap, session); } }