|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
| compilation dynamique et Webservice |
| Iniciado por alexis.augem, 29,nov. 2018 17:24 - 1 respuesta |
| |
| | | |
|
| |
| Publicado el 29,noviembre 2018 - 17:24 |
Bonjour, Je voudrais déclarer une structure dans un web-service sans connaitre son type lors de la compilation. La solution que j'envisage est de procéder par compilation dynamique. Voici mon code :
sCode = [ STConnexionIni est structure sSectionBase est une chaîne sUtilisateur est une chaine sServeur est une chaine sBaseDeDonnees est une chaine sProvider est une chaine sMotDePasseCrypte est une chaine nAuthentificationWindows est un entier sUtilisateurEnCours est une chaîne FIN STErreur est une structure nCode est un entier sLibelle est une chaine ListeIdElements est une chaine FIN STClientListeEntreeSortie est une structure stConnexion est une STConnexionIni clListe est un MTableauDeclient stErreur est un STErreur FIN sSortie est une chaine stSortie est un STClientListeEntreeSortie Sérialise(stSortie,sSortie,psdJSON) RENVOYER sSortie ]
sRésultat est une chaîne sRésultatCompile est une chaîne sRésultatCompile = Compile("Proc_dynamique", sCode) SELON sRésultatCompile CAS "" : sRésultat = ExécuteTraitement("Proc_dynamique", trtProcedure) CAS "ERR" : sRésultat = "Compilation impossible." + RC + ErreurInfo() AUTRE CAS : sRésultat = "3" + sRésultatCompile FIN RENVOYER sRésultat
Mon besoin vient du fait que je ne connais pas à l'avance la structure STClientListeEntreeSortie qui sera alors remplacée par une variable mais pour faire mes tests je l'ai fourni en dur.
En test, dans l'éditeur, tout se passe correctement et ma structure est correctement allouée, sérialisée et renvoyée.
Lorsque je déploie le web-service, j'obtiens un message d'erreur m'indiquant que la fonction "ExécuteTraitement" aurait du renvoyer une valeur... Je passe donc bien par le cas "" qui prouve que la compilation s'est bien passée.
J'ai essayé plusieurs choses pour détecter le problème et la ligne qui gène l’exécution en web-service est la ligne "stSortie est un STClientListeEntreeSortie" sans cette ligne je n'obtiens pas d'erreur.
Avez-vous une piste ?
Bon dev
Alexis |
| |
| |
| | | |
|
| | |
| |
| Publicado el 30,noviembre 2018 - 08:53 |
Bonjour
Regarde la fonction jsonversvariant qui va te créer une structure json qui va te permettre d'accéder directement à tes données
Bon Dev
Marc Fastré www.marc-fastré.be |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|