L'intégration d'API REST et SOAP dans les applications développées avec la suite Windev
L’intégration d’API REST ou SOAP dans une application WinDev est aujourd’hui un passage obligé pour connecter vos logiciels au SI de vos clients, à des services cloud ou à des plateformes métiers. WinDev fournit justement tout l’outillage nécessaire pour consommer ces APIs sans complexité excessive, que ce soit via des Webservices SOAP décrits en WSDL ou des APIs REST au format JSON, avec ou sans authentification forte.
Importer facilement un Webservice SOAP
Pour un Webservice SOAP, l’assistant d’import de WinDev se base sur la description WSDL du service pour générer automatiquement les types WLanguage et les procédures d’appel.
Les grandes étapes sont les suivantes :
-
Saisir l’URL du WSDL dans l’assistant d’importation de Webservice.
-
Indiquer si nécessaire des informations d’authentification au niveau de l’assistant (login/mot de passe HTTP ou spécifique au service).
-
Laisser WinDev créer les types complexes, structures et fonctions correspondant aux opérations du service, qui apparaissent ensuite dans la rubrique WebServices de l’explorateur de projet.
On se retrouve alors à appeler les méthodes du Webservice comme de simples procédures WLanguage, sans écrire de code SOAP manuel.
Certains Webservices SOAP (par exemple ceux de l'EUDR pour l'Europe) nécessitent une programmation plus "manuelle", où l'on doit renseigner les paramètres dans l'entête avec un codage spécifique. Windev offre dans ce cas toutes les fonctions nécessaires.
Consommer une API REST et manipuler du JSON
Pour les APIs REST, les types httpRequête et httpRéponse du WLanguage permettent de construire vos appels HTTP (GET, POST, PUT, DELETE…) et de récupérer la réponse JSON de manière typée.
WinDev propose plusieurs mécanismes pour manipuler le JSON :
-
Un type natif JSON qui facilite la lecture/écriture de propriétés dans un document JSON, notamment lorsqu’on connaît déjà la structure attendue.
-
La conversion entre structures/variables WLanguage et JSON via des fonctions dédiées (par exemple JSONVersVariant ou l’utilisation d’un variant pour construire dynamiquement un objet puis le sérialiser en JSON texte).
Vous pouvez ainsi :
-
Définir une structure WLanguage correspondant au contrat JSON de l’API, puis sérialiser/désérialiser automatiquement.
-
Ou utiliser un variant/JSON natif pour explorer et manipuler des réponses plus dynamiques, sans définir toutes les structures à l’avance.
Gérer l’authentification (token, OAuth2…)
La plupart des APIs REST ou SOAP exigent aujourd’hui un mécanisme d’authentification, le plus souvent par token (Bearer) dans l’en-tête Authorization, ou via OAuth2.
Dans un scénario classique de type OAuth2 côté client :
-
Une première requête POST permet d’obtenir un token d’authentification auprès du serveur d’identité, en passant les paramètres requis (client_id, client_secret, grant_type, etc.) dans le corps ou l’URL.
-
Le token obtenu (souvent un JWT) est ensuite injecté dans l’en-tête Authorization des requêtes suivantes, en plus des en-têtes usuels (Content-Type, Accept…).
WinDev gère cela sans difficulté particulière grâce aux propriétés des types httpRequête/httpRéponse qui permettent de renseigner les en-têtes personnalisés et le contenu JSON ou x-www-form-urlencoded selon les besoins. Côté serveur, des exemples et bonnes pratiques montrent comment valider un token, contrôler son périmètre et renvoyer un nouveau jeton à chaque requête pour renforcer la sécurité.
Pourquoi WinDev simplifie vraiment l’intégration d’API
En combinant ces briques, WinDev permet de réduire le “plancher technique” nécessaire pour intégrer des services externes :
-
Import automatique de Webservices SOAP à partir du WSDL, avec génération des types et des operations.
-
Support natif du JSON (type JSON, variant, fonctions de conversion) pour les APIs REST modernes.
-
Outils d’appel HTTP et de gestion d’authentification, y compris pour des scénarios OAuth2 avec récupération et usage de tokens.
Pour un développeur WinDev, cela se traduit par des intégrations plus rapides, un code plus lisible et une meilleure robustesse face aux évolutions des APIs, tout en restant dans l’environnement WLanguage habituel.
Besoin d'assistance pour un intégration
Vous avez besoin d'aide pour intégrer une API :
- Dépots ou lecture de fichiers sur OneDrive, envoi de mail via MS GRAPH de Microsoft
- envois et réceptions de factures électroniques via une plateforme agréée
- API du règlement européen EUDR
Commentaires
Enregistrer un commentaire