|
VADELIA |
|
WADELIA |
|
|
(I/B) (C) |
|
(I/B) (C) |
|
Attention : dans le cas des programmes VADELIA batch cet ordre n'est pas compatible avec la génération client Mobile.
Contexte d'utilisation
Consommation d'un service Web SOAP.
Paragraphe d'utilisation
Tous
Syntaxe
SW_RECUP_VAL IdServiceWeb IdOperation IdReq RecupererResultat
IdReq |
Þ |
*ID(numId) | Rien |
numId |
Þ |
IdVarNum | CstNum |
RecupererResultat |
Þ |
IdVarRes | |
|
|
RequeteXPATH IdVarRes | |
|
|
RequeteXPATH *TEXTE IdVarRes | |
|
|
RequeteXPATH SuiteAttributOuElement |
SuiteAttributOuElement |
Þ |
SuiteAttributOuElement, AttributOuElement | |
|
|
AttributOuElement |
AttributOuElement |
Þ |
IdAttribut IdVarRes | *TEXTE IdVarRes |
Description
Cet ordre permet de récupérer toutes les valeurs retournées par l'opération IdOperation du service Web IdServiceWeb pour la requête numId précédemment appelée à l'aide de l'ordre SW_APPELER.
Si le paramètre résultat est de type simple (et non de type complexe), la syntaxe à utiliser est :
SW_RECUP_VAL IdServiceWeb IdOperation IdVarRes
Si le paramètre est de type complexe, la syntaxe à utiliser doit comprendre une requête XPATH désignant :
- un élément terminal de la structure arborescente résultat,
- et/ou un élément de la structure arborescente résultat qui contient au moins un attribut.
L'utilisation de la directive *TEXTE est uniquement obligatoire dans le cas de la récupération de la valeur associée à l'élément et des valeurs associées aux attributs de l'élément.
Les variables résultats IdVarRes doivent être compatibles avec les types définis par l'opération.
Remarques :
- Une requête XPATH valide peut retourner un élément vide car ce dernier peut avoir été défini par le service Web comme facultatif.
- Les données dont le type de base est de type réel, date, time et timestamp doivent être au format ISO pour être interprétées correctement par Adélia.
- La casse doit être respectée pour IdOperation et pour les éléments de la requête XPATH.
- Le mot-clé *ID n'est pas supporté pour un service Web de style SOAP 'RPC/Encoded' appelé en mode "paramètre".
Pour vérifier si la récupération s'est bien effectuée, il est possible de tester le mot réservé *CODE_RETOUR.
Si ce mot réservé retourne une valeur différente de *NORMAL, le mot réservé *MSG_RETOUR donne un descriptif de l'erreur.
Par exemple
* Récupération d'un résultat de type simple : récupération directe du résultat
*
SW_RECUP_VAL CURRENCYCONVERT DM2EUR CHS_EURO:
* Récupération d'un résultat de type complexe (structure arborescente : requête XPATH) : élément terminal
*
SW_RECUP_VAL IP2GEO ResolveIP /ResolveIPResult/City *TEXTE CHS_CITY:
SW_RECUP_VAL IP2GEO ResolveIP /ResolveIPResult/City CHS_CITY:
SW_RECUP_VAL IP2GEO ResolveIP /ResolveIPResult/ StateProvince *TEXTE VarRes2
SW_RECUP_VAL IP2GEO ResolveIP *ID(2) /ResolveIPResult/ StateProvince *TEXTE VarRes2
SW_RECUP_VAL GOOGLESEARCH doGoogleSearch /return/resultElements/#[1]/summary VarSummary
* Récupération d'un résultat de type complexe (structure arborescente : requête XPATH) : attributs
*
SW_RECUP_VAL SEARCHIDCalcId ResolveAttr/ElemIdent idNom CHS_NOM:, idPrenom CHS_PRENOM: