elfourbos
Messages postés66Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention10 août 2007
-
19 mai 2006 à 11:12
crack_xp
Messages postés91Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention25 janvier 2007
-
22 mai 2006 à 15:36
bonjour, voila je vous expose mon problème qui n'est pas très compliqué mais qui m'enquiquine un peu lol.
je programme un web service en utilisant le protocole soap(bref), j'ai une web method qui possede un type de retour de type (list<object>)
et quand je recupere cette methode (grace au web reference)
AppliPocket.localhost.Service monService new AppliPocket.localhost.Service(); List<Onglet> listOnglet monService.chargerOnglet();
il me dit que chargerOnglet est un tableau d'onglet alors qu'en fait chargerOnglet renvoie un list<Onglet>
Ps: en fait mon client tourne sur un smart device.
Alors est ce que soap modifie mon type de retour pour le transmettre via tcp en un tableau???? bref je reste bouche bee!!!!
merci d'avance pour votre aide
crack_xp
Messages postés91Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention25 janvier 2007 22 mai 2006 à 15:36
Si tu n'instancie pas ton objet "Onglet" dans le webService, VS ne l'exposeras pas implicitement dans la description du WSDL !!!
Tu dois ajouter:
[System.Xml.Serialization.XmlInclude(typeof(Onglet
))]; avant la declaration de ta classe.
Je ne suis pas sur que le problème vient d'ici !! mais essaie quand même.
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 20 mai 2006 à 00:44
Le type generic list<onglet> n'est pas un type reconnu par le protocole SOAP, par contre ce dernier connait le type array. D'ou a mon avis la conversion lors de la sérialisation de ton objet.
elfourbos
Messages postés66Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention10 août 2007 20 mai 2006 à 12:44
oki j'ai pu parvenir a to array(ter) ma liste en un tableau d'ecran (mon objet) cependant quand j'essai de récupérer le tableau grace a un client (basé sur une apllication smart device ) l'émulateur de visual studio 2005 n'arrive pas à récupérer la méthode.
erreur dans this.invoque(chargerEcran,arg[0]);
dans un tutoriel j'ai vu qu'il y avait des souci pour le bébugage sous l'émulateur, il fallait changer
public Service(){
//this.URL = "http://localhost:2296/Service.asmx this.URL = "http://nomDeLaMachine:2296/Service.asmx }
Ps, mon serveur Web est réalisé grace au serveur web intégré de visual studio c'est pour cela que j'utilise le port 2296 au lieu du port web.
Voila si vous avez rencontré le meme probleme n'hésité pas a faire part de vos réactions!!!!merci d'avance
mat.