Appels du Service Web
MapForce vous permet d’utiliser les services HTTP API et basés sur WSDL comme fonctions de mappage. Pour plus d’information générale sur les services Web, voir Services Web.
Ajouter un appel à un service Web
Pour ajouter un appel à un Service Web, suivez les procédures générales suivantes :
1.Cliquez sur le bouton de la barre d’outils. En alternative, ouvrez le menu Insérer, cliquez sur Fonction du service Web. Cela ouvre le dialogue Paramètres du service web.
2.Dans la section Définition de service, sélectionnez le type de définition de service pertinent. Dépendant de l’option choisie, différents ensembles de paramètres seront affichés. Pour les détails, voir les rubriques suivantes :
oAppels de services Web basés sur WSDL
3.Définir les paramètres de l’appel du service Web.
4.Cliquez sur OK. L’appel de service Web apparaîtra comme composant dans le mappage.
Changer/Mettre à jour les paramètres d’appel du service Web
Vous pouvez changer les paramètres du service Web dans la boîte de dialogue Paramètres d’appel du Service Web. Pour ouvrir le dialogue, procédez comme suit :
•Double-cliquez sur le service Web de l’en-tête du composant de l’appel.
•Cliquez avec la touche de droite sur le service Web de l’en-tête du composant de l’appel et cliquez sur Propriétés.
•Cliquez sur le composant de service Web dans le mappage et cliquez sur Propriétés dans le menu Composant.
Exemple d’un appel de service Web
Le mappage affiché ci-dessous envoie une requête GET au service HTTP API pour extraire un produit sur la base de son ID et des sorties des détails du produit dans un fichier JSON..
Les parties d’un appel de service Web
L’appel du service Web consiste en deux parties : Request et Response. La partie Request vous permet de fournir les données depuis le mappage du service Web. La partie Response vous permet d’accéder aux données retournées par le service Web et de les mapper dans d’autres formats. Dans notre exemple, les données renvoyées par le service sont mappées au fichier JSON.
Requête
La requête contient plusieurs paramètres et un corps de requête.
Paramètres
Les paramètres transmettent les informations requises pour le serveur afin qu’il traite la requête et renvoie une réponse appropriée. Les paramètres peuvent être de types variés (par ex., les paramètres chemin, les paramètres requête) et peuvent servir différents objectifs (par ex., filtrer, trier et rechercher des données, transmettre les détails d’authentification).
Dans notre exemple, l’ID fournie à la requête HTTP a une valeur constante de 2, ce qui signifie que nous voulons extraire des détails du produit avec cette ID. De plus, la requête contient deux paramètres en-tête : Accept et Accept-Charset. Le paramètre Accept a une valeur constante de application/json, qui se réfère au type de contenu que MapForce souhaite obtenir du serveur. Vous pouvez définir les paramètres dans le dialogue Paramètres de l’appel du service Web (voir Paramètres).
Corps
Dans l’appel du service Web ci-dessus, la structure du corps de requête n’est pas définie, car nous voulons uniquement envoyer une requête, utilisant les paramètres en-tête et modèle. Définir la structure du corps requête pourrait être sensé, par exemple, si vous voulez réaliser des opérations POST, PUT et PATCH.
Réponse
La partie réponse de l’appel contient un code de statut, des en-têtes et un corps de réponse.
Code de statut
Le code de statut HTTP est un nombre à trois chiffres (par ex., 404) qui est envoyé par le serveur pour indiquer le résultat de la requête.
En-têtes
Les en-têtes fournissent des méta-données importantes sur la réponse (par ex., le type de contenu étant retourné) et aide MapForce à comprendre comment traiter la réponse.
Les en-têtes de réponse retournées par le service Web sont mappables s'il s'agit d'en-têtes supplémentaires (ceux qui ne commencent pas avec Content). Le nœud En-têtes de la structure de réponse contient deux items enfant : Name et Value.
Corps
Le corps de réponse obtient le contenu renvoyé par le serveur. L’apparence du corps de réponse dépend de la structure de réponse que vous avez sélectionnée.
Les données à ce niveau sont encodées en binaire, pour cette raison, une interaction directe nécessite des fonctions mime MapForce. Notez que vous ne devez pas nécessairement interagir avec le Body si le service Web s’attend ou renvoie les données structurées comme XML ou JSON. Le mappage de données direct de ou vers le Body est uniquement nécessaire lorsque vous appelez des services Web qui attendent ou retournent un contenu non structuré.
Par défaut, l'item Body est configuré afin de parser le résultat si le code de statut HTTP va de 200 à 299. Cela signifie que le mappage retournera une erreur pour des codes de statut supérieurs à 299. De plus, une erreur sera retournée si la réponse ne peut pas être parsée ou si le service Web ne peut pas être appelé en raison d'une erreur de connexion ou de problèmes de résolution de DNS.
Dans certains cas, vous souhaiterez que le mappage ne lance pas d'erreur même si le code de statut HTTP est supérieur à 299. Pour ce faire, cliquer sur la touche située à côté du Body (corps) de réponse et changer la plage de code de statut HTTP. En alternative, vous pouvez créer plusieurs items Body de réponse. Par exemple, vous pouvez créer un corps qui gère les résultats avec succès et un autre corps qui gère les erreurs. Pour plus de détails concernant une configuration, voir Gestion d'erreur dans les HTTP API.
Plus d’exemples
Pour les exemples de mappages avec les appels de service Web, voir les chapitres suivants :
•Exemple : Appeler un HTTP API
•Exemple : Mapper des données depuis un RSS Feed
•Exemple : Appeler un service Web SOAP
•Exemple : Autorisation OAuth 2.0