IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

[C# 1.1] Comment retourner une ArrayList avec un WS ?


Sujet :

Services Web

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Points : 58
    Points
    58
    Par défaut [C# 1.1] Comment retourner une ArrayList avec un WS ?
    Salut à tous,

    J'ai un gros soucis !
    Lorsque je déclare mon service Web, je lui fait retourner une Arraylist en résultat. Cependant, lorsque je veux utiliser ce service dans une appli, après avoir ajouté la reference Web, il me donne le protyype suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    object maFonction() au lieu de ArrayList maFonction().
    Je voudrais savoir pourquoi, et comment résoudre ce problème ! J'ai l'impression qu'un service Web ne peut retourner que des types primitifs, snif...

    Merci d'avance pour votre aide.

    Nico

  2. #2
    Membre actif Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Points : 245
    Points
    245
    Par défaut
    Citation Envoyé par pi05
    J'ai l'impression qu'un service Web ne peut retourner que des types primitifs, snif...

    Nico
    Faux !

    Un service Web peut retourner TOUT type d'objet, y compris un ArrayList d'element non primitifs( la classe Homme par exemple ). Voila un code qui fonctionne impecable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    using System;
    using System.Data;
    using System.Web;
    using System.Collections;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
    using System.Collections.Generic;
     
    namespace WebService1 {
        /// <summary>
        /// Summary description for Service1
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [ToolboxItem(false)]
        public class Service1 : System.Web.Services.WebService {
     
            [WebMethod]
            public List<Homme> listHommes(int count) {
                List<Homme> list = new List<Homme>();
                for (int i = 0; i < count; i++) {
                    list.Add(new Homme());
                }
                return list;
            }
     
            [WebMethod]
            public ArrayList getArrayList() {
                ArrayList arrList = new ArrayList();
                arrList.Add("A");
                return arrList;
            }
     
        }
     
        public class Homme {
            private int _age;
     
            public int Age {
                get { return _age; }
                set { _age = value; }
            }
        }
     
    }
    Chez moi ce code marche sans aucun problemes. Je peux pas te dire ni pourquoi tu as ce probleme ni comme le resoudre

  3. #3
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Faux !

    Un service Web peut retourner TOUT type d'objet, y compris un ArrayList d'element non primitifs( la classe Homme par exemple ). Voila un code qui fonctionne impecable.
    Oui mais ça c'est du .Net 2.0 or lui son PB est en 1.1

  4. #4
    Membre actif Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Points : 245
    Points
    245
    Par défaut
    Ah oui t'as raison guitoux1 j'ai pas vu
    Desole

  5. #5
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Tu créé un CustomArrayList, qui hérite de ArrayList, et tu lui fais implémenter ISerializable.

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Points : 58
    Points
    58
    Par défaut
    Merci Mose, ca le fait !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Est-ce que quelqu'un pourrait mettre ce qu'a dit Mose sous forme de code svp ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/01/2009, 16h45
  2. Réponses: 1
    Dernier message: 20/11/2007, 17h17
  3. Réponses: 5
    Dernier message: 15/02/2005, 18h07
  4. [eclipse][plugin] Comment avoir une fenêtre avec focus
    Par relivio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2004, 15h54
  5. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo