private bool Wkf_Portefeuille(string sId_portefeuille) { bool bRet = false; string sWorkflow = ConfigurationManager.AppSettings.Get("WF_PORTEFEUILLE_CREATE"); // Workflow to invoke string ruleName = "wkf Rule"; Dictionary parameters = new Dictionary // workflow parameters { { "CODE_PORTEFEUILLE", sId_portefeuille } }; try { Initiator initiateur = new Initiator { Name = "workflow" }; string guid = Guid.NewGuid().ToString(); Guid Ng = new Guid(guid); string sId_wf = DateTime.Now.ToString("yyyyMMddHH"); int.TryParse(sId_wf, out int nId); string sEntry_name = @"\webservice " + DateTime.Now.ToString("yyyyMMddHHmmssfff"); StartingEntry entry = new StartingEntry() { Id = nId, FullPath = sEntry_name, EntryGuid = Ng, Repository = LF_repository, Server = LF_server }; WorkflowApplication app = new WorkflowApplication { Registration = new WorkflowServerRegistration(LF_server), ApplicationName = "appel_webservice", ApplicationType = WorkflowApplicationType.Client }; using (WorkflowConnection connection = app.Open()) { WorkflowCreationOptions options = new WorkflowCreationOptions { WorkflowInstanceId = Ng }; PublishedWorkflow workflow = connection.Database.GetPublishedWorkflow(sWorkflow); workflow.StartWorkflowDirectly(ruleName, entry, initiateur, options, parameters); nBOUCLE = 0; bRet = Wf_process(0, sWorkflow, Ng, sEntry_name, sId_wf, nId, app); } } catch (Exception ex) { Write_log(ex.Message); Write_log(ex.StackTrace); } return bRet; }