> Tech > Faire l’appel avec HTTPAPI

Faire l’appel avec HTTPAPI

Tech - Par iTPro - 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 gratuitement cette ressource

Les 7 étapes d’un projet de dématérialisation RH

Les 7 étapes d’un projet de dématérialisation RH

Dans ce livre blanc, nous vous donnons les clés pour concevoir votre projet de dématérialisation RH. Vous découvrirez chacune des étapes qui vous permettront d’apporter de nouveaux services aux collaborateurs, de vous adapter aux nouvelles pratiques et de renforcer la marque employeur.

Tech - Par iTPro - Publié le 24 juin 2010