bonjour !!
je voudrais développer un WS qui me retourne un arraylist qui contient une structure
est-possible , et comment le faire ??
merci
Version imprimable
bonjour !!
je voudrais développer un WS qui me retourne un arraylist qui contient une structure
est-possible , et comment le faire ??
merci
le mieux c'est de tenter non? ;-)
8OCitation:
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
tu as fais une structure serialisable?
Code:
1
2
3
4
5
6 [Serializable] struct S { ... }
Oui je l'ai fais, mais ça ne marche pas, j'ai ce message d'erreur lorsque j'invoque la webmethod :Citation:
tu as fais une structure serialisable?
j'ai éssayé d'utiliser xmlinclude ou soapinclude mais je suis un peu perdu , en plus je ne sais pas lequel je dois choisir !!!Citation:
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()
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:
1
2
3
4
5
6
7
8
9 [WebMethod,XMLInclude(Typeof(nomstructure))] public arraylist nommethode(arg1,arg2....) {.... ...} [SERIALIZABLE] struct nomstructure { .... }