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

À titre de test, nous allons utiliser une application de type Console qui va gérer elle-même l’hébergement du Web Service.

Voici donc les étapes pour faire tout cela :

1. Création d’une application de type Console dans Visual Studio

2. Cette application va interfacer avec le Web Service SharePoint que nous avons défini dans la partie 2 de cette série d’articles : il nous faut donc ajouter cette référence. Pour ce faire, clic-droit sur Web References et nous ajoutons une référence :

clip_image002.jpg

Le service contient bien les méthodes que nous avons définies. Le namespace que nous avons défini dans le présent article pour la suite des choses est : MMS_Service

3. Nous allons maintenant pouvoir appeler ce Service grâce au simple code suivant :

MMS_Service.MMS_ServiceClient mmsClient = new MMS_Service.MMS_ServiceClient(« BasicHttpBinding_IMMS_Service »);
mmsClient.CreateTermGroup(group);

4. Nous allons maintenant définir les interfaces de nos services qui seront liés à Azure Service Bus Relay. Celle-ci est identique à celle que nous avons définie dans la partie 2 de notre série d’articles :

namespace SharePointMMS_Proxy
{
[ServiceContract(Namespace = « urn:ps »)]
interface IMMSManager
{
[OperationContract]
void CreateGroup(string group);
[WebGet]
[OperationContract]
List<string> GetGroups();
}
interface IMMSManagerChannel : IMMSManager, IClientChannel { }
}

5. Une fois cette interface définie, nous écrivons l’implémentation actuelle (qui est juste un transfert au Web Service défini en partie 2)

class MMSManager : IMMSManager
{
public void CreateGroup(string group)
{
MMS_Service.MMS_ServiceClient mmsClient = new MMS_Service.MMS_ServiceClient(« BasicHttpBinding_IMMS_Service »);
mmsClient.CreateTermGroup(group);
}
public List<string> GetGroups()
{
MMS_Service.MMS_ServiceClient mmsClient = new MMS_Service.MMS_ServiceClient(« BasicHttpBinding_IMMS_Service »);
return mmsClient.GetGroups().ToList<string>();
}
}

6. Afin de définir un Web Service qui sera lié sur Windows Azure Service Bus Relay, nous allons ajouter le NuGet « Windows Azure Service Bus » :

clip_image004.jpg

7. Il nous reste maintenant la partie la plus importante à définir : dans la méthode Main de notre Console Application, nous allons démarrer le service que nous venons de créer en le liant sur Azure Service Bus Relay

8. Nous commençons par déclarer le Host :

ServiceHost sh = new ServiceHost(typeof(MMSManager));

9. Puis un binding est créé sur le Service Bus Relay :

sh.AddServiceEndpoint(
typeof(IMMSManager), new NetTcpRelayBinding(),
ServiceBusEnvironment.CreateServiceUri(« sb », « sharepointmms », « mmsManager »))
.Behaviors.Add(new TransportClientEndpointBehavior
{
TokenProvider = TokenProvider.CreateSharedSecretTokenProvider(« owner », « 9/nnqDToMb91Z0OVaovQupZ15oczXCANSqGCYwse2sc= »)
});

10. Pour finir, le service host est démarré :

sh.Open();

Il ne reste qu’à lancer l’application et à valider que le service est en attente de requêtes :

clip_image006.jpg

Notre service est maintenant accessible depuis l’extérieur, il ne reste plus qu’à créer une application pour interfacer avec!

Laisser un commentaire

Nos services

test3

Analytique avancée

test

Intelligence Artificielle

test2

Infrastructure

Nos partenaires

Nos services

Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Finance & Operations​

Microsoft Dynamics GP

Microsoft Dynamics 365 Customer Engagement

Unit4 solution de gestion de projet

Nos produits complémentaires