Tout d’abord il vous faut ajouter la référence au service web dans votre projet .Net, dans mon exemple j’ai pris l’adresse suivante : http://MONSERVEUR/PWA/_vti_bin/PSI/Security.asmx
Maintenant nous allons pouvoir créer notre méthode “DeleteCategories”:
/// <summary>
/// Suppression une catégories sur l'instance PWA spécifiée
/// </summary>
/// <param name="name"> Nom des catégories</param>
public void DeleteCategories(string[] NameCategories)
{
}
Maintenant j’ai pour habitude de redonner toujours l’adresse et l’authentification lors de l’appel au PSI, cela permet de modifier facilement si vous le mettez dans l’app.config.
//Récupération de l'url du web service PSI Sécurité
String WS_SECURITY_Adress = "http://MONSERVEUR/PWA/_vti_bin/PSI/Security.asmx";
//Authentification sur le web service avec le compte
CredentialCache myCredentials = new CredentialCache();
myCredentials.Add(new Uri(WS_SECURITY_Adress), "NTLM", new NetworkCredential("Noham", "pass@word1", "SoDEMO"));
WS_Security = new Svc_Security.Security();
WS_Security.CookieContainer = new CookieContainer();
WS_Security.Credentials = myCredentials;
WS_Security.Url = WS_SECURITY_Adress;
//Récupération de la liste des catégories
DS_Cat = WS_Security.ReadCategoryList();
//Création et remplissage d'une list des GUID de catégories
var list = (from search in DS_Cat.SecurityCategories.AsEnumerable()
where NameCategories.Contains(search["WSEC_CAT_NAME"].ToString())
select new Guid(search["WSEC_CAT_UID"].ToString())).ToArray();
Maintenant nous allons appeler la méthode de PSI permettant de supprimer une liste Array de catégories, cette liste ne doit contenir que des GUID.
//Suppression de l'ensemble des catégories contenues dans le tableau
WS_Security.DeleteCategories(list);
/// <summary>
/// Suppression une catégories sur l'instance PWA spécifiée
/// </summary>
/// <param name="name"> Nom des catégories</param>
public void DeleteCategories(string[] NameCategories)
{
//Récupération de l'url du web service PSI Sécurité
String WS_SECURITY_Adress = "http://MONSERVEUR/PWA/_vti_bin/PSI/Security.asmx";
//Authentification sur le web service avec le compte
CredentialCache myCredentials = new CredentialCache();
myCredentials.Add(new Uri(WS_SECURITY_Adress), "NTLM", new NetworkCredential("Noham", "pass@word1", "SoDEMO"));
WS_Security = new Svc_Security.Security();
WS_Security.CookieContainer = new CookieContainer();
WS_Security.Credentials = myCredentials;
WS_Security.Url = WS_SECURITY_Adress;
//Récupération de la liste des catégories
DS_Cat = WS_Security.ReadCategoryList();
//Création et remplissage d'une list des GUID de catégories
var list = (from search in DS_Cat.SecurityCategories.AsEnumerable()
where NameCategories.Contains(search["WSEC_CAT_NAME"].ToString())
select new Guid(search["WSEC_CAT_UID"].ToString())).ToArray();
//Suppression de l'ensemble des catégories contenues dans le tableau
WS_Security.DeleteCategories(list);
}
Aucun commentaire:
Enregistrer un commentaire