PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Windev 21 :  Appeler un Web Service en lui transmettant en paramètre d'entrée une structure.
Windev 21 : Appeler un Web Service en lui transmettant en paramètre d'entrée une structure.
Débuté par lianazel, 17 mar. 2016 11:37 - 4 réponses
Posté le 17 mars 2016 - 11:37
Bonjour,

J'ai développé un web service (windev 21) que j'ai déployé et qui tourne très bien.

Je dois y rajouter une fonction qui reçoit en paramètre une structure de données mais j'avoue que je sèche, je ne sais pas comment, ni si cela est possible de transmettre un structure en paramètre. J'ai essayé avec un tableau de structure ( un poste qui contient ma structure ), mais ne fonctionne pas non plus...

Ci dessoous le code appel de mon web service :






Ci dessous le code de la procédure de mon web service avec le paramètre en entrée :







Merci pour votre aide
Posté le 17 mars 2016 - 11:57
Bonjour,
Pour passer en paramètre une structure, il suffit de déclarer un paramètre
avec cette structure.
Par contre je ne sais pas si on peut passer un tableau en paramètre, pour ma
part j'ai l'habitude de les englober... dans une structure.

Frédéric.

"CHERID JEAN-CHRISTOPHE" a écrit dans le message de groupe de discussion :
201646c5c878232547b27666a85b061840c6@news.pcsoft.fr...

Bonjour,

J'ai développé un web service (windev 21) que j'ai déployé et qui tourne
très bien.

Je dois y rajouter une fonction qui reçoit en paramètre une structure de
données mais j'avoue que je sèche, je ne sais pas comment, ni si cela est
possible de transmettre un structure en paramètre. J'ai essayé avec un
tableau de structure ( un poste qui contient ma structure ), mais ne
fonctionne pas non plus...

Ci dessoous le code appel de mon web service :






Ci dessous le code de la procédure de mon web service avec le paramètre en
entrée :







Merci pour votre aide
Posté le 17 mars 2016 - 12:24
Bonjour Frédéric,

Merci pour ton aide.

J'ai déjà essayé cette méthode qui n'a pas fonctionné. J'avais également le message "Le paramètre 1 n'est pas du type attendu" au moment où j'appelle mon web service. Je pense que je m'y prends mal quelque part.

Coté web service qui reçoit le paramètre, faut-il déclarer le paramètre comme une structure dans la collection de procédure ?

Je pense que je n'ai pas tout saisi ...!

Si tu peux me mettre un peu plus sur la voie, ça m'aiderait beaucoup.

Merci d'avance pour ton/votre aide.
Posté le 17 mars 2016 - 15:15
Voici un exemple:
La procédure dans le Webservice:
PROCEDURE MajCotesUvc(stProduit est un ST_Article,bImpArticle est un
booléen,sCodeUts est une chaîne)

La déclaration de la structure (dans l'init du projet webservice):
ST_Article est une Structure
sReference est une chaîne
sDesignationLongue est une chaîne
sDesignationCourte est une chaîne
sUniteLongueur est une chaîne
sUnitePoids est une chaîne
sUniteVolume est une chaîne
sMarque est une chaîne
nType est un entier
nTypeEnsemble est un entier
tabUVC est un tableau dynamique de ST_Uvc
tabChampUtilisateur est un tableau de ST_ValeurChampUtilisateur
tabDimensions est un tableau de chaînes
tabFournisseurs est un tableau de ST_Fournisseur
tabClasses est un tableau de ST_ClassificationArticle
FIN

Une fois le WebService importé dans le projet, les différentes structures
sont disponibles dans le projet hôte, il suffit de déclarer une variable de
type ST_Article et de la passer en paramètre à la méthode en question lors
de l'appel.

Frédéric.

"CHERID JEAN-CHRISTOPHE" a écrit dans le message de groupe de discussion :
2016de56ba90c97f0083405b901725d4049f@news.pcsoft.fr...

Bonjour Frédéric,

Merci pour ton aide.

J'ai déjà essayé cette méthode qui n'a pas fonctionné. J'avais également
le message "Le paramètre 1 n'est pas du type attendu" au moment où j'appelle
mon web service. Je pense que je m'y prends mal quelque part.

Coté web service qui reçoit le paramètre, faut-il déclarer le paramètre
comme une structure dans la collection de procédure ?

Je pense que je n'ai pas tout saisi ...!

Si tu peux me mettre un peu plus sur la voie, ça m'aiderait beaucoup.

Merci d'avance pour ton/votre aide.
Posté le 17 mars 2016 - 17:01
Merci Frederic,

Je n'ai plus d'erreur et ça à l'air de fonctionner !