Récupération d’entités MDS (Master Data Services) par web services


Il est possible de récupérer les informations de MDS de différentes manières : Portail Web, Excel, requêter les vues en base de données et par Web service.

Sur ce post, nous allons voir comment consommer le Web service que Microsoft nous met à disposition sur MDS.

Activation des Web services

Par défaut, les Web services de MDS sont désactivés. Pour les activer, il faut modifier le fichier Web.config du site Web MDS :

  • Aller dans le répertoire du site MDS
  • Ouvrir le fichier Web.config
  • Rechercher l’élément contenant mdsWsHttpBehavior
  • Sous celui-ci, passer l’attribut httpGetEnabled à true si vous être en HTTP. Si vous êtes en HTTPS, c’est l’attribut httpsGetEnabled qu’il faut passer à true

Construction de la requête

Dans un premier temps, il faut ajouter une référence au web service en utilisant l’URL suivante : http://serveur:port/chemin-d’accès-virtuel/service/service.svc

Nous allons maintenant construire une requête pour récupérer les éléments d’une entité. Pour cela, nous allons utiliser la méthode EntityMembersGet

 

Attention de bien préciser l’attribut MemberReturnOption, sinon l’objet retourné ne contiendra que les propriétés de l’entité mais pas ses membres.

La méthode EntityMembersGet prend les arguments suivants :

  • International: contient les informations de culture. Peut être null
  • MembersGetCriteria: contient les critères de recherche.
  • EntityMembersInformation: paramètre de sortie qui contient les informations de l’entité. On peut retrouver par exemple, l’indentifiant technique de l’entité.
  • OperationResult: paramètre de sortie qui contient le résultat de la requête et éventuellement l’erreur.

Pagination des résultats

Si la quantité de ligne retournée est trop grande, il se peut que le web service renvoie une erreur. Dans ce cas, il faut paginer le résultat. Pour cela, on va préciser les PageNumber et PageSize de l’objet EntityMembersGetCriteria:

Grâce au paramètre de sortie EntityMembersInformation, on peut connaître le nombre total de membre et le nombre de page. Ainsi, on peut récupérer tous les membres en bouclant sur chaque page.

 

Annexe

Activation du web service MDS : https://technet.microsoft.com/fr-fr/library/ff486972(v=sql.105).aspx

Description du web service : https://msdn.microsoft.com/en-us/library/microsoft.masterdataservices.aspx

Commentez cet article