> Tech > Faire l’appel avec HTTPAPI

Faire l’appel avec HTTPAPI

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

Percer le brouillard des rançongiciels

Percer le brouillard des rançongiciels

Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010