Que faire lorsque l’indexation du contenu de certaines collections de sites vous renvoie : “L’élément SharePoint en cours d’analyse a renvoyé une erreur lors de la demande de données auprès du service Web. ( Error from SharePoint site: Les données sont null. Cette méthode ou propriété ne peut pas être appelée sur des valeurs Null. )” ? (à part perdre son temps à créer de nouveaux proxies de recherche, à tester toutes les configurations possibles ou encore à scruter les logs avec minutie ?)
Il s’agit d’une erreur a priori “bien connue” de Microsoft qui la détaille dans cette KB. Mais comment une telle erreur peut-elle bien se produire ? Mauvaise configuration du service de recherche ? Une réindexation sauvage ? Un proxy de service défaillant ? Non ! Il s’agit ‘tout simplement’ d’un bug dans votre code ou de celui de votre fournisseur, en effet le service d’indexation n’aime pas avoir la description d’un groupe avec une valeur null.
Mais comment fait-on pour avoir une description null d’un groupe : en l’ajoutant avec du code et en lui spécifiant une description null. Pour faire simple, voici un exemple de code menant à cette ‘erreur’ :
using (SPSite oSite = new SPSite(textBox1.Text))
{
using (SPWeb oWeb = oSite.OpenWeb())
{
SPGroupCollection oGroupColl = oWeb.SiteGroups;
SPUser oUser = oWeb.AllUsers[« domain\\user »];
oGroupColl.Add(« Testing Group », oUser, oUser, null);
}
}
La KB propose un code pour corriger cela, mais on remerciera Damien NOBLET, pour avoir créé un outil efficace qui corrigera les groupes ‘défaillants’ en tout simplicité et qui disponible sur la plateforme Codeplex : http://sp2010fixgroups.codeplex.com/ (un grand merci pour cet outil à Damien).