-// \r
-// System.Web.Services.Protocols.XmlReturnReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
+//
+// System.Web.Services.Protocols.XmlReturnReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
//
// Permission is hereby granted, free of charge, to any person obtaining
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Xml.Serialization;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class XmlReturnReader : MimeReturnReader {\r
-\r
- XmlSerializer serializer;\r
- \r
- #region Constructors\r
-\r
- public XmlReturnReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (methodInfo.DeclaringType);\r
+
+using System.IO;
+using System.Net;
+using System.Xml.Serialization;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class XmlReturnReader : MimeReturnReader {
+
+ XmlSerializer serializer;
+
+ #region Constructors
+
+ public XmlReturnReader ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (methodInfo.DeclaringType);
object[] ats = methodInfo.ReturnTypeCustomAttributeProvider.GetCustomAttributes (typeof(XmlRootAttribute), true);
XmlRootAttribute root = ats.Length > 0 ? ats[0] as XmlRootAttribute : null;
- return new XmlSerializer (methodInfo.ReturnType, null, null, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));\r
- }\r
-\r
- public override object[] GetInitializers (LogicalMethodInfo[] methodInfos)\r
- {\r
- XmlReflectionImporter importer = new XmlReflectionImporter ();\r
- XmlMapping[] sers = new XmlMapping [methodInfos.Length];\r
- for (int n=0; n<sers.Length; n++)\r
- {\r
- LogicalMethodInfo metinfo = methodInfos[n];\r
- if (metinfo.IsVoid) \r
- sers[n] = null;\r
- else\r
- {\r
+ return new XmlSerializer (methodInfo.ReturnType, null, null, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));
+ }
+
+ public override object[] GetInitializers (LogicalMethodInfo[] methodInfos)
+ {
+ XmlReflectionImporter importer = new XmlReflectionImporter ();
+ XmlMapping[] sers = new XmlMapping [methodInfos.Length];
+ for (int n=0; n<sers.Length; n++)
+ {
+ LogicalMethodInfo metinfo = methodInfos[n];
+ if (metinfo.IsVoid)
+ sers[n] = null;
+ else
+ {
LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (metinfo.DeclaringType);
object[] ats = methodInfos[n].ReturnTypeCustomAttributeProvider.GetCustomAttributes (typeof(XmlRootAttribute), true);
XmlRootAttribute root = ats.Length > 0 ? ats[0] as XmlRootAttribute : null;
- sers[n] = importer.ImportTypeMapping (methodInfos[n].ReturnType, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));\r
- }\r
- }\r
- return XmlSerializer.FromMappings (sers);\r
- }\r
- \r
- public override void Initialize (object o)\r
- {\r
- serializer = (XmlSerializer)o;\r
- }\r
-\r
- public override object Read (WebResponse response, Stream responseStream)\r
- {\r
- object result = null;\r
- if (serializer != null)\r
- {\r
- if (response.ContentType.IndexOf ("text/xml") == -1)\r
- throw new InvalidOperationException ("Result was not XML");\r
- \r
- result = serializer.Deserialize (responseStream);\r
- }\r
- responseStream.Close ();\r
- return result;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
+ sers[n] = importer.ImportTypeMapping (methodInfos[n].ReturnType, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));
+ }
+ }
+ return XmlSerializer.FromMappings (sers);
+ }
+
+ public override void Initialize (object o)
+ {
+ serializer = (XmlSerializer)o;
+ }
+
+ public override object Read (WebResponse response, Stream responseStream)
+ {
+ object result = null;
+ if (serializer != null)
+ {
+ if (response.ContentType.IndexOf ("text/xml") == -1)
+ throw new InvalidOperationException ("Result was not XML");
+
+ result = serializer.Deserialize (responseStream);
+ }
+ responseStream.Close ();
+ return result;
+ }
+
+ #endregion // Methods
+ }
}