|
|
|
|
|
- Webservice : comment obtenir la réponse du Webservice ?
- Syntaxe concernant les Webservices SOAP
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.
- pour appeler une procédure navigateur (avec une valeur de retour) depuis un champ Page WEBDEV.
- pour appeler une procédure d'une fenêtre (avec une valeur de retour) depuis une page WEBDEV présente dans un champ Page WEBDEV.
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
Appel asynchrone d'un Webservice SOAP Masquer les détails
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 Webservice : comment obtenir la réponse du Webservice ? La réponse du Webservice peut être obtenue dans <Code exécuté si réponse>. Plusieurs syntaxes 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
Syntaxe concernant les Webservices SOAP - 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 :
APRÈS MaRéponse = checkVat(sPays, sNumTVA) FAIRE
SI ErreurDétectée ALORS
...
FIN
FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|