Logo UGIdotNET

Discussione 'Errore durante la generazione del documento XML'

# Pubblicato il 09 giu 2010 10.32 - Rispondi
Giuseppe Scarpiello
Errore durante la generazione del documento XML
Ciao a tutti, ho un problema nel creare un web service che espone dei dati.

Inizialmente avevo optato per restituire in dataset, ma ho visto che produce l'xsd e un documento xml con i tag e i valori di quello che estraggo dal db e non mi è sembrata una soluzione ottimale.

Ho provato a restituire un iList con una classe che ho creato ma mi restituisce questo errore

System.InvalidOperationException: Errore durante la generazione del documento XML. ---> System.InvalidOperationException: Tipo MarcoPolo2.language imprevisto. Utilizzare l'attributo XmlInclude o SoapInclude per specificare tipi non conosciuti a livello statico.
in System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(String name, String ns, Object o, Boolean xsiType)
in Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write1_Object(String n, String ns, Object o, Boolean isNullable, Boolean needType)
in Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write5_ArrayOfAnyType(Object o)
in Microsoft.Xml.Serialization.GeneratedAssembly.IListSerializer1.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
in System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
--- Fine dell'analisi dello stack dell'eccezione interna ---
in System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
in System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
in System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o)
in System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
in System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
in System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
in System.Web.Services.Protocols.WebServiceHandler.Invoke()

Ho provato anche a restituire un array di Object ma mi restituisce lo stesso errore.

Ho provato a serializzare la mia classe, ma l'errore è sempre lo stesso.

cosa devo fare per poter far funzionare il mio webmethod?

grazie a tutti
# Pubblicato il 10 giu 2010 11.05 - Rispondi
Roberto Messora
Re: Errore durante la generazione del documento XML
così a naso da quello che scrivi sembra che tu debba istruire il serializzatore su come può serializzare la proprietà che non riconosce.
di che tipo è?

Saluti
# Pubblicato il 10 giu 2010 11.13 - Rispondi
Giuseppe Scarpiello
Re: Errore durante la generazione del documento XML
in realtà dovevo semplicemente creare una classe con una classe derivata e aggiungere xmlinclude e soap include alla classe padre.

Poi è andato tutto bene e sono riuscito a resistuire un array di classi

ciao

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185