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# 2.0] Comment sérialiser un ArrayList contenant une structure ?


Sujet :

Services Web

  1. #1
    Membre habitué

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 173
    Points
    173
    Par défaut [C# 2.0] Comment sérialiser un ArrayList contenant une structure ?
    bonjour !!

    je voudrais développer un WS qui me retourne un arraylist qui contient une structure
    est-possible , et comment le faire ??
    merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    le mieux c'est de tenter non? ;-)

  3. #3
    Membre habitué

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 173
    Points
    173
    Par défaut
    le mieux c'est de tenter non? ;-)

    justement j'ai essayé , l'arraylist est facilement sérialisable, mais dés qu'on lui ajoute une structure , là ça bloque !!
    j'ai un message d'erreur qui s'affiche

  4. #4
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    tu as fais une structure serialisable?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [Serializable]
    struct S
    {
      ...
    }

  5. #5
    Membre habitué

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 173
    Points
    173
    Par défaut
    tu as fais une structure serialisable?
    Oui je l'ai fais, mais ça ne marche pas, j'ai ce message d'erreur lorsque j'invoque la webmethod :
    System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: The type Service+Svol was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.
    at System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(String name, String ns, Object o, Boolean xsiType)
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write1_Object(String n, String ns, Object o, Boolean isNullable, Boolean needType)
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write2_ArrayOfAnyType(Object o)
    at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayListSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
    at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
    --- End of inner exception stack trace ---
    at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
    at System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o)
    at System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
    at System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
    at System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
    at System.Web.Services.Protocols.WebServiceHandler.Invoke()
    j'ai éssayé d'utiliser xmlinclude ou soapinclude mais je suis un peu perdu , en plus je ne sais pas lequel je dois choisir !!!

  6. #6
    Membre habitué

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 173
    Points
    173
    Par défaut
    c'est bon , j'aî pu régler le problème ,
    il suffisait seulement d'ajouter XMLInclude a coté de la propriéte webmethod comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [WebMethod,XMLInclude(Typeof(nomstructure))]
                                       public arraylist nommethode(arg1,arg2....)
    {....
    ...}
    [SERIALIZABLE]
     struct nomstructure
    {
    ....
    }

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

Discussions similaires

  1. comment voir et modifier les membres d'une structure ?
    Par dva2tlse dans le forum Débuter
    Réponses: 12
    Dernier message: 22/11/2008, 14h07
  2. Comment en VB6 récupérer un ArrayList d'une DLL écrite en VB.Net
    Par BGC_Laurent dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 04/04/2007, 11h08
  3. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01
  4. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

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