Bonjour,
J'ai créé un "SharePoint 2013 - Visual Web Part" en C# (depuis Visual Studio 2013, en mode "solution farm") sur le serveur SharePoint 2013 pour pouvoir lister tous les workflows (inclus les versions 2010 et 2013) d'une liste.
Cependant, je n'arrive pas à lister les workflows version 2013 quand je me connecte sur un autre poste autre que le serveur.
Si je suis sur le serveur et que j'affiche mon composant, je vois bien tous les workflows de ma liste (aussi bien les 2010 que les 2013) mais quand je le fait depuis un poste autre que le serveur, je ne vois que les workflows version 2010.
Voici le code que j'utilise pour récupérer les workflows de 2010 :
Et pour obtenir les workflows version 2013, je suis obligé de faire ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 string url = "url of site"; SPContext ctx = SPContext.Current; SPWeb web = ctx.web; Guid listId = ctx.ListId; SPWorkflowAssociation workflows2010 = web.Lists [listId].WorkflowAssociations;
Après quoi je merge ensemble les deux liste pour tout afficher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ClientContext clientCtx = new ClientContext(url); // clientCtx.Credentials = new NetworkCredential("username", "password", "domain"); Web clientWeb = clientCtx.Web; WorkflowServicesManager manager = new WorkflowServicesManager(clientCtx, clientWeb); WorkflowSubscriptionService subscription = manager.GetWorkflowSubscriptionService(); WorkflowInstanceService instance = manager.GetWorkflowInstanceService(); WorkflowSubscriptionCollection workflows2013 = subscription.EnumerateSubscriptionsByList(listId); clientCtx.Load(workflows2013); clientCtx.ExecuteQuery();
Question, pourquoi dois-je déjà faire une connexion différente (donc avec ClientContext) pour aller récupérer les workflows 2013.
J'ai aussi essayé de me connecter avec un compte différent (avec un compte qui est administrateur de la collection de site) depuis le ClientContext mais cela ne change rien ! c'est pourquoi j'ai commenté la partie "Credentials".
Je précise aussi que le compte avec lequel je fait tous mes tests aussi bien sur le serveur que sur un poste indépendant est administrateur de la collection de site, c'est toujours le même compte que j'utilise.
Pouvez-vous m'aider ?
Merci
Partager