[Mono-bugs] [Bug 78042][Nor] Changed - [PATCH] SOAP list result error. Mono expects response namespace, but it shouldn't (Form property)
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Mon Nov 27 11:38:00 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 atsushi at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=78042
--- shadow/78042 2006-11-08 02:36:06.000000000 -0500
+++ shadow/78042.tmp.27371 2006-11-27 11:38:00.000000000 -0500
@@ -11,13 +11,13 @@
AssignedTo: atsushi at ximian.com
ReportedBy: krzymkowski at kontinuum.pl
QAContact: mono-bugs at ximian.com
TargetMilestone: ---
URL:
Cc:
-Summary: SOAP list result error. Mono expects response namespace, but it shouldn't
+Summary: [PATCH] SOAP list result error. Mono expects response namespace, but it shouldn't (Form property)
Description of Problem:
Mono expects that sub-elements of a SOAP response are in the response
namespace. .NET expects no namespace. Please see attached SOAP responses.
mono.soap works only on mono, dotnet.soap works only on .NET.
The Service.wsdl and the responses are files is generated using gSOAP.
@@ -148,6 +148,46 @@
(ctx.Response.OutputStream);
sw.Write (sr.ReadToEnd ());
sw.Close ();
}
}
+
+------- Additional Comments From atsushi at ximian.com 2006-11-27 11:38 -------
+I think I have a fix. The bug is caused because we didn't consider
+XmlArrayAttribute. This would illustrate the same issue.
+
+--------
+using System;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+
+[XmlType (Namespace="urn:gyabo")]
+public class mid
+{
+ [XmlArray (Form = XmlSchemaForm.Unqualified)]
+ public string [] Whee = new string [] {"foo", "bar"};
+}
+
+[XmlRoot (Namespace="urn:hoge")]
+public class test
+{
+ public static void Main ()
+ {
+ XmlArrayAttribute a = new XmlArrayAttribute ();
+ a.Namespace = "urn:foo";
+ a.Form = XmlSchemaForm.Unqualified;
+
+ XmlSerializer ser = new XmlSerializer (typeof (test));
+ ser.Serialize (Console.Out, new test ());
+ }
+
+ [XmlArray (Form = XmlSchemaForm.Unqualified)]
+ public string [] Whoa = new string [] {"foo", "bar"};
+
+ [XmlArray (Form = XmlSchemaForm.Unqualified)]
+ public mid [] mids = new mid [] {new mid ()};
+}
+--------
+
+I'm attaching a patch before committing, as some other guys might find
+erroneous changes.
More information about the mono-bugs
mailing list