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 :

Passer un objet en paramètre


Sujet :

Services Web

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Points : 55
    Points
    55
    Par défaut Passer un objet en paramètre
    Bonjour à tous,

    je m'arrache les cheveux pour faire passer un objet dans les paramètres d'une méthode de mon service web!

    Mon objet est constitué de 3 classes. Lorsque je le sérialise, il n'y a aucun problème, j'obtiens bien un fichier xml.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    XmlSerializer xs = new XmlSerializer(typeof(monObjet));
                using (StreamWriter wr = new StreamWriter("monObjetSerialise.xml"))
                {
                    xs.Serialize(wr, _message);
                }
    Mon problème vient lorsque je veux passer cet objet en paramètre dans une webmethod

    webmethod:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [WebMethod]
        [XmlInclude(typeof(monObjet))]
        public string sendMessage(object obj)
        {
            return "toto";
        }
    appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webService.sendMessage(monObjet);
    erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    There was an error generating the XML document.
    voilà, pouvez vous m'aider avant que je sois chauve, merci bien!

    Adrien

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 250
    Points : 420
    Points
    420
    Par défaut
    Bonjour,
    j'ai eu aussi un problème pour passer un paramètre à une WebMethod.
    Ce que j'ai fais c'est que plutôt d'envoyer ce que je voulais, je l'ai passé en xml.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Côté client :
     
                XmlSerializer ser = new XmlSerializer(typeof(objet));
                StringWriter sw = new StringWriter();
                ser.Serialize(sw, monObjet);
                string xml = sw.ToString();
     
    //Côté web service :
                    XmlSerializer ser = new XmlSerializer(typeof(object));
                    StringReader sr = new StringReader(xml);
                    object obj = (objet)ser.Deserialize(sr);
    Ca doit ressembler à ça, j'espère avoir répondu à ta question.

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

Discussions similaires

  1. Passer un objet en paramètre d'intent
    Par bablight dans le forum Android
    Réponses: 1
    Dernier message: 09/01/2010, 23h25
  2. Passer un objet en paramètre d'une callback
    Par kelepoc dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 31/08/2009, 11h40
  3. Passer des objets en paramètre
    Par The eye dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 04/01/2008, 16h07
  4. Réponses: 4
    Dernier message: 20/06/2007, 17h34
  5. [POO] débutant passer un objet en paramètre
    Par samplaid dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/05/2006, 12h46

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