Maintenant que vous savez quel message SOAP envoyer au service Web et lequel est envoyé en retour, vous devez savoir comment appeler le service Web. S’il s’agissait d’une page Web standard, j’utiliserais un navigateur pour accéder au service mais, bien entendu, ce n’est pas le cas. Je veux que mon
Faire l’appel avec HTTPAPI
programme RPG appelle le service Web en cas de besoin et obtienne la réponse en retour une fois le travail effectué. Il me faut donc un programme RPG qui comprenne le protocole HTTP.
En 2001, j’ai entamé un projet open-source appelé HTTPAPI. Son objectif était de faire jouer à un programme RPG le même rôle qu’un navigateur. Vous pouvez télécharger HTTPAPI gratuitement à partir de mon site Web à www.scottklement.com/httpapi.
La figure 4 montre le code RPG d’un programme appelé GETRATE qui appelle le service Web CurrencyConvertor. GETRATE commence par créer le message SOAP à envoyer au convertisseur de devises (A en figure 4). Après quoi, GETRATE utilise HTTPAPI pour appeler le service Web et lui envoyer le document XML. Dans le cinquième paramètre de la sousprocédure http_url_post_xml(), j’ordonne à HTTPAPI d’appeler la sous-procédure Incoming pour tout élément XML que le service Web renvoie. Dans le sixième paramètre, j’ordonne à HTTPAPI de passer la variable appelée Result comme premier paramètre à la sous-procédure Incoming.
HTTPAPI se charge d’appeler le service Web, de lui passer le document d’entrée et de recevoir la réponse. Pour chaque élément XML que HTTPAPI reçoit, il appelle la sous-procédure Incoming. Revenez à la figure 2 et remarquez que HTTPAPI appelle la sous-procédure Incoming quatre fois, pour les éléments XML soap:Enveloppe, soap:Body, ConversionRateResponse, et Conversion RateResult.
Dans la sous-procédure Incoming, je vérifie quel élément XML est traité. Quand l’élément en question est ConversionRateResult, je range le taux de change dans la variable Result (C en figure 4). Vous pouvez télécharger le programme GETRATE à iSeriesNetwork.com/code. La façon de compiler GETRATE est expliquée dans les commentaires en haut du programme. Après l’avoir compilé, exécutez-le de la manière suivante pour obtenir un taux de change :
CALL PGM(GETRATE) PARM(‘USD’ ‘JPY’ &RATE)
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA générative en Europe : une adoption massive, mais une gouvernance toujours en retard
- Golden records : le socle oublié des projets IA
- Communication d’entreprise à l’ère de l’IA : fragmentation, Shadow AI et perte de contrôle
- Pourquoi les outils de sécurité ne suffisent plus face aux angles morts de la détection
Articles les + lus
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
À la une de la chaîne Tech
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
