Author: atsushi Date: 2006-11-16 21:21:56 -0500 (Thu, 16 Nov 2006) New Revision: 68045
Modified: trunk/mcs/class/System.XML/System.Xml.Serialization/ChangeLog trunk/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReader.cs Log: 2006-11-17 Atsushi Enomoto <[EMAIL PROTECTED]> * XmlSerializationReader.cs : (ReadReferencedElement) Sometimes there are array types in WSDL, which are not reflected in client proxies. In SOAP messages, they are marked soap-env:arrayType, so use it (this could coexist with xsi:type, which indicates the type in WSDL). Fixed bug #79057. Modified: trunk/mcs/class/System.XML/System.Xml.Serialization/ChangeLog =================================================================== --- trunk/mcs/class/System.XML/System.Xml.Serialization/ChangeLog 2006-11-17 01:33:16 UTC (rev 68044) +++ trunk/mcs/class/System.XML/System.Xml.Serialization/ChangeLog 2006-11-17 02:21:56 UTC (rev 68045) @@ -1,3 +1,11 @@ +2006-11-17 Atsushi Enomoto <[EMAIL PROTECTED]> + + * XmlSerializationReader.cs : (ReadReferencedElement) + Sometimes there are array types in WSDL, which are not reflected + in client proxies. In SOAP messages, they are marked + soap-env:arrayType, so use it (this could coexist with xsi:type, + which indicates the type in WSDL). Fixed bug #79057. + 2006-11-15 Atsushi Enomoto <[EMAIL PROTECTED]> * XmlSerializationReader.cs : implement ToByteArray[Base64|Hex](). Modified: trunk/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReader.cs =================================================================== --- trunk/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReader.cs 2006-11-17 01:33:16 UTC (rev 68044) +++ trunk/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReader.cs 2006-11-17 02:21:56 UTC (rev 68045) @@ -483,7 +483,16 @@ string id = Reader.GetAttribute ("id"); object ob; - if (qname == arrayQName) + // it takes precedence over xsi:type. + // Sometimes there are array types in WSDL, + // which are not reflected in client proxies. + // In SOAP messages, they are marked + // soap-env:arrayType, so use it (this could coexist + // with xsi:type, which indicates the type in WSDL). + // See bug #79057. + string arrayTypeVal = Reader.GetAttribute (arrayType, soapNS); + + if (qname == arrayQName || arrayTypeVal != null && arrayTypeVal.Length > 0) { CollectionFixup fixup = (collFixups != null) ? (CollectionFixup) collFixups[id] : null; if (ReadList (out ob)) _______________________________________________ Mono-patches maillist - Mono-patches@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-patches