Pour pouvoir consommer un service web à partir de RPG, il nous faudra le moyen de nous connecter à un serveur HTTP à partir de RPG. A cet effet, j'ai écrit un outil open source appelé HTTPAPI. HTTPAPI est un programme de service RPG que
HTTP à partir de RPG
vous pouvez télécharger sur mon site web à www.scottklement.com/httpapi. Ce logiciel gratuit vous permet d’écrire un logiciel côté client qui parle à un serveur HTTP. Il fournit plus de 80 sous-procédures, dont chacune aidera à communiquer avec un serveur HTTP. HTTPAPI est capable de consommer des services web en utilisant les deux paradigmes SOAP et RESTful.
Exemple : conversion de devises
Quand j’enseigne les services web SOAP, je commence par un exemple de conversion de devises. Je vais donc faire de même pour cet article sur les services web RESTful. Xurrency.com est un service web RESTful créé par un jeune développeur espagnol nommé Alfonso Jiménez. Si vous lui donnez un URI dans le format suivant, il vous fournira un document XML contenant l’information sur les devises.
http://xurrency.com/amount/from-currency/to-currency/feed
/feed demande à Xurrency.com de présenter les résultats comme un document XML. Si j’omets le mot-clé /feed, le résultat sera en HTML, apte pour un affichage dans un navigateur web. Mais comme je veux l’utiliser dans un programme RPG, il vaut mieux le demander en XML. Par exemple, si je voulais convertir US$5 en euros, j’utiliserais l’ URI suivant :
http://xurrency.com/5.00/usd/eur/feed
Essayez de taper cet URI dans votre navigateur web, et vous verrez le montant s’afficher. Si vous examinez le source de la page web renvoyée, vous verrez que c’est en réalité un document XML qui contient l’information sur les devises. J’ai inclus ce document XML dans la figure 1 de cet article. Vous observerez que le montant en euros qui correspond à US$5 se trouve dans le tag XML < dc :value > (A , figure 1).
Comment faire cela à partir d’un programme RPG ? La figure 2 montre un programme nommé XURRENCY qui prend trois paramètres nommés fromCurrency, toCurrency, et amount (A, figure 2). Il les utilise pour construire un URI (B, figure 2), puis demande à HTTPAPI d’appliquer la méthode GET sur cet URI (C, figure 2).
HTTPAPI est accompagné de l’analyseur Expat XML open source, lequel analysera le XML. Au préalable, vous devez écrire une sous-procédure avec une liste de paramètres comme en D de la figure 2. HTTPAPI appellera cette sous-procédure de manière répétitive au fur et à mesure que les données XML parviendront du réseau. Chaque fois qu’il trouve un tag XML, il appelle votre sous procédure. En E de la figure 2, vous voyez que je recherche le tag
Si vous utilisez couramment des messages SOAP, vous apprécierez que c’est plus simple ici. Nul besoin d’envoyer un document SOAP relativement complexe au serveur, c’est juste un simple URI. Nul besoin de jongler avec des espaces de nom ou des échappements XML dans le résultat, c’est juste un simple document XML.
Exemple: conversion de devises 2
Peut-être que le programme XURRENCY de la figure 2 était un mauvais exemple. En effet, pour utiliser des taux de change dans votre application, vous tiendriez probablement un fichier physique les contenant tous. Vous ne voudriez certainement pas passer par le web pour chaque consultation de taux ! Aucun problème. Si vous ne précisez pas la devise cible, Xurrency.com renverra toutes les devises cible possibles. Par exemple, la ligne suivante me donnerait tous les taux dont j’ai besoin pour convertir des dollars US en toute autre devise :
http://www.xurrency.com/usd/feed
Je pourrais examiner en boucle les résultats et charger les devises dans un fichier physique. Ensuite, pour obtenir un taux de change, je l’obtiendrais à partir de ce fichier. J’ai écrit un exemple de cette technique, sous le nom XURRENCY2, et vous pouvez le télécharger sur iTPro.fr Club Abonnés.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Les 6 étapes vers un diagnostic réussi
Les plus consultés sur iTPro.fr
- Face aux ransomwares, la résilience passe par les sauvegardes immuables
- L’IA, nouveau moteur des entreprises françaises d’ici 2030
- Gouvernance, cybersécurité et agents IA : trois défis clés à relever pour réussir la transition en 2026
- Top 5 des évolutions technologiques impactant la sécurité 2026
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
