PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV, WEBDEV et WINDEV Mobile 26 !
  • Comment récupérer la réponse du Webservice ?
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Permet d'exécuter un traitement sous condition de l'exécution d'une procédure, et en attendant cette exécution, continue d'exécuter le code en cours sans blocage. Ce type d'instruction est utilisé pour réaliser un appel asynchrone d'un Webservice SOAP.
Exemple
trackingSearch est un trackSearch
trackingSearchRes est un resultTrackSearch
trackingSearch.accountNumber = 99999999
trackingSearch.consigneesCountry = "FR"
trackingSearch.consigneesZipCode = "37100"
trackingSearch.sendersRef =  "111111"
 
APRÈS trackingSearchRes = TrackingServiceWSService.trackSearch(trackingSearch) FAIRE
SI ErreurDétectée() ALORS
Trace("Echec de l'appel au service Web : " + ErreurInfo(errComplet))
SINON
Trace("Webservice correctement exécuté")
FIN
FIN
Syntaxe
APRES <Résultat> = <Appel au Webservice SOAP> FAIRE
      <Code exécuté si réponse>
FIN
<Code exécuté après l'appel du Webservice SOAP>
<APRES> :
Signale le début du bloc d'instructions.
<Résultat> :
Résultat de l'exécution du Webservice SOAP.
<Appel au Webservice SOAP> :
Appel de la procédure permettant d'interroger le Webservice SOAP.
<Code exécuté si réponse> :
Code exécuté uniquement lorsque le Webservice SOAP aura été exécuté et aura envoyé la réponse.
<Code exécuté après l'appel du Webservice SOAP> :
Code exécuté directement après l'appel du Webservice SOAP (que le webservice SOAP ait répondu ou non).
<FIN> :
Signale la fin du bloc d'instructions.
Remarques

Comment récupérer la réponse du Webservice ?

La réponse du Webservice peut être récupérée dans <Code exécuté si réponse>. Plusieurs syntaxe sont possibles :
  • Déclaration de la valeur de retour dans le bloc APRES ... FAIRE :
    Dans ce cas, le Webservice renvoie une variable de type wsRéponse. Cette variable doit être affectée explicitement dans une variable de type retour du service pour être manipulée.
    APRES x = Appel_Websevice() FAIRE
    // x est ici un wsRéponse, il faut l'affecter explicitement
    // dans une variable du type de retour du WebService
    Ret est un TypeWS = x
    // code exécuté après le retour du Webservice
    // .... = Ret
    FIN
    // code exécuté immédiatement
  • Déclaration de la valeur de retour en dehors du bloc APRES ... FAIRE :
    Dans ce cas, la variable de retour peut être manipulée directement.
    Ret est un TypeWS
    APRES Ret = WebServiceSansRetour() FAIRE
    // code exécuté après le retour du Webservice
    // .... = Ret
    FIN
    // code exécuté immédiatement
  • Cette syntaxe est utilisable uniquement pour l'appel des Webservices SOAP.
  • Le paramètre <Code exécuté si réponse> s'exécute comme une procédure de type Callback quand le Webservice aura rendu la main.
  • Important : le code exécuté après l'appel au Webservice SOAP (après le mot-clé FIN) est exécuté dans le contexte du thread appelant. Si l'appel est effectué dans le thread principal, l'exécution d'une fonction d'attente (ThreadPause, Multitache, SignalAttend, ...) provoquera un interblocage (deadlock).
  • La gestion d'une éventuelle erreur lors de l'appel au Webservice SOAP se fait de manière standard en utilisant la variable WLangage ErreurDétectée. Par exemple :
    // Appelle le Webservice SOAP de vérification du numéro de TVA
    APRÈS MaRéponse = checkVat(sPays, sNumTVA) FAIRE
    // Si on a eu une erreur
    SI ErreurDétectée ALORS
    ...
    FIN
    FIN
Version minimum requise
  • Version 26
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire