Altova MapForce 2024 Enterprise Edition

Exemple : mapper des données depuis un RSS Feed

Accueil Préc Haut Suivant

Cet exemple vous montre comment appeler un service Web HTTP générique depuis MapForce afin de mapper des données depuis un RSS (Rich Site Summary) feed sur Microsoft Excel. L'exemple est accompagné par un fichier de design de mappage qui est disponible dans le chemin suivant : <Documents>\Altova\MapForce2024\MapForceExamples\RssReader.mfd.

 

Dans cet exemple, la réponse du service Web est mappée depuis le flux RSS du blog Altova ( https://blog.altova.com/feed ). Le schéma de la structure de réponse de service Web sera requise, de manière à ce que MapForce puisse créer la structure des données retournées par le flux. Pour une plus grande simplicité, le schéma requis est disponible sur le chemin suivant relatif à votre dossier "(Mes) Documents" :<Documents>\Altova\MapForce2024\MapForceExamples\rss-2-0.xsd.

 

L'appel du flux RSS ne requiert aucun paramètre de requête, donc la partie de requête de l'appel du service Web sera vide. En ce qui concerne la réponse, elle sera mappée à un fichier Microsoft Excel. Ensuite, pour rendre lisible la date de publication de chaque entrée RSS, elle s'affichera sous le format AAAA-MM-DD dans le fichier Excel. Pour atteindre ce but, les fonctions de traitement de date seront utilisées.

 

Ainsi, le mappage consistera en trois parties : l'appel de service Web, le composant Excel cible, et les fonction de traitement de date.

 

Étape 1: Ajouter le composant de service Web

 

1.Veuillez vous assurer que le langage de transformation du mappage est BUILT-IN.

2.Dans le menu Insérer, cliquer sur Fonction Service Web.

3.Sous Définition Service, cliquer sur Manuel.

4.Configurer la méthode de requête sur GET et l'URL sur https://blog.altova.com/feed.

5.Sous Réponse, cliquer sur la touche Éditer et chercher le schéma de la réponse de service Web. Le schéma peut être trouvé sur le chemin suivant : <Documents>\Altova\MapForce2024\MapForceExamples\rss-2-0.xsd.

mf_rss_example_01

6.Cliquer sur OK.

 

À ce niveau, le service Web est disponible sur la zone de mappage et vous serez prêt à mapper des données depuis la partie de réponse.

mf_rss_example_02

 

Étape 2: Ajouter le composant Excel cible

 

1.Dans le menu Insérer, cliquer sur Excel 2007+ Fichier.

2.Lorsque vous êtes invité à fournir un fichier échantillon, cliquer sur Ignorer. Le composant Excel est maintenant disponible sur la surface de mappage.

3.Cliquer sur la touche AddRemove_Selections à côté de Feuille 1, et cliquer pour supprimer l'option Afficher feuille de calcul par leur nom.

4.Cliquer sur la touche AddRemove_Selections à côté de Ligne 1, et changer les options comme indiqué ci-dessous.

mf_rss_example_03

5.Connecter les items suivants du corps de réponse aux items suivant du composant Excel :

 

Corps de réponse

Fichier Excel

channel

Worksheets

title

Worksheet Name

item

Rows

item/title

Row B (Title)

item/link

Row C (Link)

 

À ce niveau, Row A (Date) nécessite encore une valeur d'entrée. Cette valeur sera ajoutée dans l'étape suivante.

 

Étape 3: Ajouter les fonctions de traitement de la date

 

La date en réponse du flux RSS apparaît formatée dans le format RFC-822, par exemple : Wed, 20 Jan 2016 14:49:35 +0000. Néanmoins, l'objectif est de voir la date formatée dans le fichier sous la forme Excel AAAA-MM-DD. Pour ce faire, ajouter les fonctions substring-after et parse-date de la bibliothèque principale MapForce du mappage, voir aussi Ajouter une fonction au mappage).

 

ex_ws_rss_04

Comme indiqué ci-dessus, la fonction substring-after prend la valeur depuis le nœud pubDate et ne retourne que le texte se trouvant après ,  . La valeur résultante est ensuite passée vers une autre fonction principale de MapForce, parse-date, qui la parse en utilisant le masque [D] [Mn] [Y] , et retourne la valeur comme xs:date. Le masque de format signifie "jour numérique du mois, suivi d'un espace, suivi du nom du mois en casse du titre, suivi par un espace, suivi par l'année à quatre chiffres". Pour voir des exemples de formatage de date et heure, voir la référence à la fonction format-dateTime).

 

Enfin, la valeur parsée est fournie à la liste Date du composant Excel.

 

Étape 4: Exécuter le mappage

 

Vous êtes maintenant prêt à appeler le service Web. Cliquer sur la touche Sortie pour exécuter le mappage et consulter la sortie générée. Si l'appel de service Web est exécuté avec succès, l'onglet Sortie affiche la structure de données retournée. Si l'appel ne réussit pas, MapForce retournera l'erreur adéquate.

 

Si vous avez MapForce Server (https://www.altova.com/mapforce-server), vous pouvez aussi compiler le mappage vers un fichier d'exécution de mappage (*.mfx) et de l'exécuter depuis la ligne de commande ou depuis l'API MapForce Server sur l'appareil de serveur sur lequel MapForce Server est exécuté (voir Compiler des mappages sur des fichiers d'exécution MapForce Server ).

 

Vous avez maintenant terminé de créer un service Web HTTP générique qui utilise une méthode GET pour lire des données provenant d'un flux RSS. Pour plus d'informations concernant le travail avec les services Web génériques, voir aussi Ajouter un appel de service Web (Style REST).

© 2018-2024 Altova GmbH