[ giger @ 18.08.2008. 23:10 ] @
Evo ovako pravim neki servis cije bi sve metode vracale ovu klasu Code: [XmlRoot(ElementName = "OperationStatus")] public class OperationStatus { private string _statusCode; private string _statusMessage; private object _object; [XmlElement] public string StatusCode { get { return _statusCode; } set { _statusCode = value; } } [XmlElement] public string StatusMessage { get { return _statusMessage; } set { _statusMessage = value; } } [XmlElement(ElementName = "Result")] public object Object { get { return _object; } set { _object = value; } } } Zamislio sam da u ovaj "Object" (Result) stavljam svoje objekte . To mogu biti prosti tipovi, ili klase ili pak kompleksne klase. Medjutim naisao sam na problem, ako KLASA_A sadrzi ArrayList objekata klase KLASA_B, tada dobijam ovu gresku: Citat: System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidCastException: Unable to cast object of type 'KLASA_A' to type 'KLASA_B'. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write1_Object(String n, String ns, Object o, Boolean isNullable, Boolean needType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write5_OperationStatus(String n, String ns, OperationStatus o, Boolean isNullable, Boolean needType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write10_OperationStatus(Object o) at Microsoft.Xml.Serialization.GeneratedAssembly.OperationStatusSerializer4.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() Jel ima neko ideju, jel radio neko nesto slicno? Hvala unapred, pozdrav |