[Mono-dev] Bug with XML Serialization
knocte
knocte at gmail.com
Thu Aug 18 11:43:21 EDT 2005
Hello,
With VS.NET2003 I am able to serialize a class without errors, but with
Mono I obtain the following exception:
System.InvalidOperationException: System.Collections.IList cannot be serialized because it is an interface
in <0x00142> System.Xml.Serialization.ReflectionHelper:CheckSerializableType (System.Type type, Boolean allowPrivateConstructors)
in <0x000cd> System.Xml.Serialization.XmlReflectionImporter:ImportListMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace, System.Xml.Serialization.XmlAttributes atts, Int32 nestingLevel)
in <0x008e7> System.Xml.Serialization.XmlReflectionImporter:CreateMapMember (System.Type declaringType, System.Xml.Serialization.XmlReflectionMember rmember, System.String defaultNamespace)
in <0x00290> System.Xml.Serialization.XmlReflectionImporter:ImportClassMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace)
in <0x00268> System.Xml.Serialization.XmlReflectionImporter:ImportClassMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace)
in <0x00094> System.Xml.Serialization.XmlReflectionImporter:ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace)
in <0x000b8> System.Xml.Serialization.XmlSerializer:.ctor (System.Type type, System.Xml.Serialization.XmlAttributeOverrides overrides, System.Type[] extraTypes, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace)
in <0x00015> System.Xml.Serialization.XmlSerializer:.ctor (System.Type type)
in <0x00155> Maverick.View.XmlSerializingView:Go (IViewContext vctx)
in <0x00050> Maverick.Flow.ViewWithTransforms:Go (IViewContext vctx)
in <0x00152> Maverick.Flow.CommandBase:RunView (System.String viewName, Maverick.Flow.MaverickContext mctx)
in <0x00033> Maverick.Flow.CommandBase:Go (Maverick.Flow.MaverickContext mctx)
in <0x00185> Maverick.Dispatcher:ProcessRequest (System.Web.HttpContext context)
in <0x00233> System.Web.HttpApplication+ExecuteHandlerState:Execute ()
in <0x0007c> System.Web.HttpApplication+StateMachine:ExecuteState (IStateHandler state, System.Boolean readysync)
I am trying to deploy a website using Maverick.NET+Apache+mod_mono.
The portion of code that may conflict with this is:
[XmlInclude(typeof(CAccion3A))]
public class Query : ControllerProtected {
protected string cuenta;
protected string nombreEmpresa;
protected string operacion;
protected CAccion3A[] actions3A;
public IList Actions3A
{
get {
if (this.actions3A == null)
return new ArrayList();
return new ArrayList(this.actions3A);
}
}
[...]
The result of the serialization using Microsoft runtime is:
<?xml version="1.0"?>
<Query xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Errors />
<Actions3A>
<anyType xsi:type="CAccion3A">
<Codigo>O0010745</Codigo>
<CustomerCode>ES30001-A38000332</CustomerCode>
<NombreEmpresa>ENTERPRISE SEA -MURCIA SEA 3017-</NombreEmpresa>
<Nombre />
<Apellido1 />
<Apellido2 />
<Email />
<Direccion>0</Direccion>
<Numero />
<Piso />
<Puerta />
<CodigoPostal />
<Poblacion />
<Pais>ES</Pais>
<Provincia>30</Provincia>
<Telefono />
<Fax />
<Eliminado />
<Delegacion>MURCIA</Delegacion>
<Objetivos />
</anyType>
<anyType xsi:type="CAccion3A">
<Codigo>O0010745</Codigo>
<CustomerCode>ES33231-A280041032</CustomerCode>
<NombreEmpresa>ENTERPRISE SEA -MURCIA SEA 3017-</NombreEmpresa>
<Nombre />
<Apellido1 />
<Apellido2 />
<Email />
<Direccion>0</Direccion>
<Numero />
<Piso />
<Puerta />
<CodigoPostal />
<Poblacion />
<Pais>ES</Pais>
<Provincia>30</Provincia>
<Telefono />
<Fax />
<Eliminado />
<Delegacion>MURCIA</Delegacion>
<Objetivos />
</anyType>
</Actions3A>
<Cuenta />
<NombreEmpresa>enterprise</NombreEmpresa>
<Operacion>busquedaPorEmpresa</Operacion>
</Query>
If the IList doesn't contain any members, serialization should fallback
to "<Actions3A />".
Should I file a bug report? (I am using Mono 1.1.8.2.)
Regards,
Andrew
--
More information about the Mono-devel-list
mailing list