[Mono-bugs] [Bug 77392][Nor] New - [PATCH] <Xml/Soap>ReflectionImporter fixes

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sat Jan 28 08:50:32 EST 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by gert.driesen at pandora.be.

http://bugzilla.ximian.com/show_bug.cgi?id=77392

--- shadow/77392	2006-01-28 08:50:32.000000000 -0500
+++ shadow/77392.tmp.23460	2006-01-28 08:50:32.000000000 -0500
@@ -0,0 +1,59 @@
+Bug#: 77392
+Product: Mono: Class Libraries
+Version: 1.0
+OS: All
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: Sys.XML
+AssignedTo: lluis at ximian.com                            
+ReportedBy: gert.driesen at pandora.be               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: [PATCH] <Xml/Soap>ReflectionImporter fixes
+
+The attached patch fixes several issues in XmlReflectionImporter and 
+SoapReflectionImporter, and enables lots of unit tests that were failing 
+before this patch:
+
+* XmlSerializer.cs: Added constant for WSDL Types namespace.
+* TypeData.cs: Added ItemTypeName property, necessary for byte[] on
+2.0 profile. On 2.0 profile, use ListItemTypeData.ItemTypeName for 
+TypeName property if SchemeType is Array, and type is an array.
+For types implementing ICollection, verify if there's an Add method
+for the ListItemType. For types implementing IEnumerable, use the 
+property type of the Current property of the enumerator as
+ListItemType, and verify if there's a corresponding Add method, or
+an Add method taking an object as argument.
+* XmlReflectionImporter.cs: Added and used (wherever possible) Import
+methods that take TypeData (instead of Type), as we need this when
+a given type can be representing multiple XSD types (eg. DateTime
+can represent dateTime, date, ...). If SchemaType is XmlNode, set
+element name to string.Empty, and namespace to null. For non-XSD
+primitive types, use http://microsoft.com/wsdl/types as namespace.
+In 2.0 profile, QName is nillable.
+* SoapReflectionImporter.cs: Added and used (wherever possible) Import
+methods that take TypeData (instead of Type), as we need this when
+a given type can be representing multiple XSD types (eg. DateTime
+can represent dateTime, date, ...). Do not report failure when 
+importing a value type. Do not register base type for types deriving
+from ValueType. Report failure when attempting to import value type
+list, and type is not a primitive type (meaning guid), and is not
+an enum. Use http://microsoft.com/wsdl/types as namespace non-XSD
+primitive types (meaning char and guid). No longer use "Array" as
+default XML type for Array Type mapping, as this needs to be
+"ArrayOf<Type Name>" on 2.0 profile, and "<Type Name>[]" on 1.0
+profile.
+* XmlSchemaImporter.cs: Added ReflectType overload that takes TypeData
+instead, as we need this to differentiate between different DateTime
+based XSD primitive types (such as dateTime, date, ...).
+* TypeTranslator.cs: Use ArrayOfByte ListItemTypeName for byte[] on
+2.0 profile. Do not register TimeSpan as XSD primitive type, to match
+MS.NET. duration XSD type is string backed, not TimeSpan.
+
+Llius, let me know if you want me to remove a particular part of this 
+patch.


More information about the mono-bugs mailing list