<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>30 Nov 2018 08:53:21 Z</lastBuildDate><pubDate>29 Nov 2018 17:24:48 Z</pubDate><description>Bonjour,&#13;
Je voudrais déclarer une structure dans un web-service sans connaitre son type lors de la compilation.&#13;
La solution que j'envisage est de procéder par compilation dynamique.&#13;
Voici mon code : &#13;
&#13;
[code:wl]&#13;
	sCode = [&#13;
		STConnexionIni est structure&#13;
			sSectionBase 				est une chaîne&#13;
			sUtilisateur 				est une chaine&#13;
			sServeur 					est une chaine&#13;
			sBaseDeDonnees 				est une chaine&#13;
			sProvider 					est une chaine&#13;
			sMotDePasseCrypte 			est une chaine&#13;
			nAuthentificationWindows 	est un entier&#13;
			sUtilisateurEnCours 		est une chaîne&#13;
		FIN&#13;
		&#13;
		STErreur est une structure&#13;
			nCode 			est un entier&#13;
			sLibelle 		est une chaine&#13;
			ListeIdElements	est une chaine&#13;
		FIN&#13;
		&#13;
		STClientListeEntreeSortie est une structure&#13;
			stConnexion 		est une STConnexionIni&#13;
			clListe 			est un MTableauDeclient&#13;
			stErreur 			est un STErreur&#13;
		FIN&#13;
		&#13;
		sSortie est une chaine&#13;
		&#13;
		stSortie est un STClientListeEntreeSortie&#13;
		&#13;
		Sérialise(stSortie,sSortie,psdJSON)&#13;
		&#13;
		RENVOYER sSortie&#13;
	]&#13;
&#13;
sRésultat est une chaîne&#13;
sRésultatCompile est une chaîne&#13;
sRésultatCompile = Compile("Proc_dynamique", sCode)&#13;
SELON sRésultatCompile&#13;
	CAS "" : sRésultat = ExécuteTraitement("Proc_dynamique", trtProcédure)&#13;
	CAS "ERR" : sRésultat = "Compilation impossible." + RC + ErreurInfo()&#13;
	AUTRE CAS : sRésultat = "3" + sRésultatCompile&#13;
FIN&#13;
RENVOYER sRésultat&#13;
[/code]&#13;
&#13;
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.&#13;
&#13;
En test, dans l'éditeur, tout se passe correctement et ma structure est correctement allouée, sérialisée et renvoyée.&#13;
&#13;
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.&#13;
&#13;
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&#13;
"stSortie est un STClientListeEntreeSortie" sans cette ligne je n'obtiens pas d'erreur.&#13;
&#13;
Avez-vous une piste ?&#13;
&#13;
Bon dev&#13;
&#13;
Alexis</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/222301-compilation-dynamique-webservice/read.awp</link><title>compilation dynamique et Webservice</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster><item><author>m.fastre</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/222301-compilation-dynamique-webservice-222310/read.awp</comments><pubDate>30 Nov 2018 08:53:21 Z</pubDate><description>Bonjour&#13;
&#13;
Regarde la fonction jsonversvariant qui va te créer une structure json qui va te permettre d'accéder directement à te…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/222301-compilation-dynamique-webservice-222310/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/222301-compilation-dynamique-webservice-222310/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/222301-compilation-dynamique-webservice/read.awp">compilation dynamique et Webservice</source><title>Re: compilation dynamique et Webservice</title></item></channel></rss>
