Exposer SharePoint On-Premise par l’intermédiaire du Windows Azure Service Bus Relay (Partie 2 – Création d’un Web Service .NET 3.5 WCF pour SharePoint)

Durant cette partie, nous allons créer le Web Service qui sera déployé dans SharePoint par l’intermédiaire d’une Feature et qui permettra de manipuler la Taxonomy comme nous le souhaitons, c’est-à-dire dans notre exemple de créer un Term Group.

Pour ce faire, les étapes sont les suivantes :

1. Installer le plugin CKSDev (http://cksdev.codeplex.com/) qui va permettre de faciliter la création d’un service WCF.

2. Créer un projet SharePoint 2010 Vide.

3. Une fois CKSDev installé, il est nécessaire de créer un service WCF :

clip_image0021.jpg

4. Une fois ce service créé, celui-ci doit être ajouté dans la Feature du projet :

clip_image0041.jpg

5. Une fois cette fonctionnalité activée, nous allons créer l’interface qui sera utilisée pour définir le contrat du Web Service :

[ServiceContract]
public interface IMMS_Service
{
[OperationContract]
string HelloWorld();
[OperationContract]
void CreateTermGroup(string termGroup);
[OperationContract]
List<string> GetGroups();
}

6. Cette interface contient notre méthode de test préférée HelloWorld ainsi que la fonction qui nous intéresse pour créer un groupe : CreateTermGroup.

7. Il faut également définir le channel de communication qui sera utilisé lors de l’appel du Web Service :

interface IMMSManagerChannel : IMMSManager, IClientChannel { }

8. La logique de la méthode est quant à elle définie dans la classe

public class MMS_Service : IMMS_Service

9. La méthode est la suivante :

public void CreateTermGroup(string termGroup)
{
SPSecurity.RunWithElevatedPrivileges( delegate()
{
SPSite site = new SPSite(« http://xxxxx »);
TaxonomySession taxonomySession = new TaxonomySession(site);
TermStore termStore = taxonomySession.TermStores[« Managed Metadata Service »];
termStore.CreateGroup(termGroup);
termStore.CommitAll();
});
}

10. Une fois le service défini, la solution doit être déployée par Visual Studio ou bien CKSDev

11. Le déploiement se teste par la suite en navigant vers le EndPoint auquel on ajoute le chemin /mex afin de visualiser les métadonnées échangées au niveau du Web Service :

clip_image0061.jpg

12. Une fois ce test effectué, il est fort intéressant d’utiliser l’outil WcfTestClient.exe (à lancer depuis le Command Prompt de Visual Studio) qui va permettre de tester le bon fonctionnement de la méthode CreateGroup :

clip_image0081.jpg

13. Une fois le bouton Invoke cliqué, vous pouvez aller valider au niveau du Term Store de SharePoint que le groupe a bien été créé dans SharePoint

clip_image0101.jpg

Fermer le menu