WebService List

Résolu
elfourbos Messages postés 66 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 10 août 2007 - 19 mai 2006 à 11:12
crack_xp Messages postés 91 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 25 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

mat.

3 réponses

crack_xp Messages postés 91 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 25 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.
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
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.

::|The S@ib|:: MVP C#.NET
0
elfourbos Messages postés 66 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 10 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.
0
Rejoignez-nous