public int ExecuteProcessLaunch(string ssKey, int tenantId, int userId, int parentActivityId, int parentProcessId, List <Pair <string, object> > inputs, out List <Pair <int, ActivityKind> > nextActIds, out string failureMessage) { List <Pair <int, ActivityKind> > nextActivitiesIds = new List <Pair <int, ActivityKind> >(); int newProcessId = 0; failureMessage = string.Empty; nextActIds = nextActivitiesIds; bool res; try { res = ExecuteWebService("ProcessLaunch", delegate(HeContext heContext) { return(ExecuteProcessWebService(heContext, ssKey, tenantId, userId, string.Empty, delegate(IProcess execObj) { newProcessId = execObj.ProcessLaunch(heContext, parentActivityId, parentProcessId, inputs, out nextActivitiesIds); })); } , false); nextActIds = nextActivitiesIds; } catch (Exception e) { failureMessage = ProcessBase.ProcessException(Global.App.OsContext, e, "", /*skipLog*/ true);; return(0); } return(res ? newProcessId: 0); }