|
|
|
|
|
- Propriétés spécifiques à la description des variables de type wsRéponse
- Fonctionnement
wsRéponse (Type de variable) En anglais : wsResponse
Le type wsRéponse permet d'obtenir : - le code source XML complet de la réponse d'un Webservice.
- la valeur des différentes parties de la réponse d'un Webservice (cas des Webservices renvoyant plusieurs réponses).
Les caractéristiques de ce type peuvent être définies et modifiées à l'aide de différentes propriétés WLangage. Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Pour un Webservice qui renvoie 2 réponses (et pas une réponse structurée)
wsRep est un wsRéponse = WSProcedure()
Trace(wsRep["partie1"].sousElement1)
Trace(wsRep["partie2"].sousElement2)
Pour un Webservice dont on veut récupérer tout le XML de réponse (et le XML envoyé)
paramGetWeather est un GlobalWeather.GetWeather
paramGetWeather.CityName = "Paris-Aeroport Charles De Gaulle"
paramGetWeather.CountryName = "France"
resGetWeatherResponse est un GetWeatherResponse
wsRep est un wsRéponse
wsReq est un wsRequête
wsRep = GlobalWeather.GetWeather(wsReq,paramGetWeather)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(), ...
"------------------- Détails de la requête XML envoyée : ", wsReq.SourceXML, ...
"------------------- Détails de la réponse XML reçue : ", wsRep.SourceXML)
SINON
resGetWeatherResponse=wsRep.Valeur
xmlMeteo est un xmlDocument = XMLOuvre(resGetWeatherResponse.GetWeatherResult..Valeur, ...
depuisChaîne)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
SI xmlMeteo.CurrentWeather.Status..Texte~="Success" ALORS
Info("Ville : " + xmlMeteo.CurrentWeather.Location, ...
"Heure : " + xmlMeteo.CurrentWeather.Time, ...
"Vent : " + xmlMeteo.CurrentWeather.Wind, ...
"Visibilité : " + xmlMeteo.CurrentWeather.Visibility, ...
"Température : " + xmlMeteo.CurrentWeather.Temperature, ...
"Point de rosée : " + xmlMeteo.CurrentWeather.DewPoint, ...
"Humidité : " + xmlMeteo.CurrentWeather.RelativeHumidity, ...
"Pression : " + xmlMeteo.CurrentWeather.Pressure)
SINON
Erreur(resGetWeatherResponse.GetWeatherResult, ...
"---------------------- Détails de la réponse XML reçue :", wsRep.SourceXML)
FIN
FIN
FIN
Propriétés Propriétés spécifiques à la description des variables de type wsRéponse Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type wsRéponse : | | | Nom de la propriété | Type manipulé | Effet |
---|
PartieRéponse | Tableau | Permet d'obtenir le code XML correspondant à la réponse spécifiée. Il est également possible d'utiliser directement la notation : Nom_Variable_wsRéponse["Nom_de_la_réponse"] Cette propriété est disponible en lecture seulement. | SourceXML | Binaire / Buffer | Source XML reçue du serveur. Cette propriété est disponible en lecture seulement. | Valeur | Chaîne de caractères | Renvoie le code XML correspondant à la première partie de la réponse. Cette propriété est disponible en lecture seulement. |
Attention : Si le Webservice ne renvoie qu'une seule réponse, il est conseillé de conserver la syntaxe suivante : res est un TypeRetour = WSProcédure() Remarques Fonctionnement Le type wsRéponse permet d'avoir le source XML complet de la requête envoyée pour la consommation du Webservice. La fonction SOAPPrépare donne déjà l'information dans le cas général, mais pas lorsque le Webservice nécessite : En pratique, l'appel traditionnel d'une fonction :
RéponseWebservice = FonctionWebservice(Param1, Param2)
pourra être remplacé par :
MaRequête est un wsRequête
RéponseWebservice = FonctionWebservice(MaRequête, Param1, Param2)
Il est alors possible d'avoir dans un buffer le source XML intégral de la requête avec le code suivant :
Cette fonctionnalité est parfois utile en phase de mise au point et nécessaire pour obtenir certaines certifications.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|