Un nouveau type a été inclus dans le WLangage à partir de la version interne 56f de WINDEV et WEBDEV 18. Il est très pratique lorsque l'on souhaite connaître le contenu complet renvoyé par un webservice, il s'agit du type wsRéponse. Il évite d'avoir recours à des utilitaires système tel que wireshark lorsque l'on souhaite étudier finement un résultat, ou avoir le source dans le but d'une certification.

Voici une illustration de son utilisation avec la consommant d'un webservice Sesam Vital. Par défaut on récupère directement les données du résultat, via un type inclus dans la description du webservice, le wsdl. Exemple :

mareponseDemanderInfosPECResponse est un DemanderInfosPECResponse
mareponseDemanderInfosPECResponse = DemanderInfosPEC(MaDemande, MonClient, MonToken, MaVitale)

A ce stade la variable mareponseDemanderInfosPECResponse est structurée et permet une utilisation immédiate des données du résultat. Le nouveau type wsRéponse permet d'avoir la réponse d'un niveau "au dessus", donc avec la réponse structurée (type DemanderInfosPECResponse dans l'exemple) et le source XML complet. Exemple :

mareponseDemanderInfosPECResponse est DemanderInfosPECResponse dynamique
maReponse est un wsRéponse
maReponse = DemanderInfosPEC(MaDemande, MonClient, MonToken, MaVitale)
SI ErreurDétectée = Vrai ALORS
Trace(maReponse..SourceXML)
Erreur(ErreurInfo(errComplet))
SINON
Info("Réponse complète", maReponse..SourceXML)
mareponseDemanderInfosPECResponse = maReponse..Valeur
FIN

Lors de l'appel d'une fonction d'un webservice, il est également possible d'obtenir le source XML complet envoyé, grâce à la fonction SOAPPrépare.

A consulter sur ce sujet :

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée