namespace System.Web.Services.Discovery { internal class DiscoveryDocumentSerializationWriter : System.Xml.Serialization.XmlSerializationWriter { public void Write10_discovery(object o) { WriteStartDocument(); if (o == null) { WriteNullTagLiteral(@"discovery", @"http://schemas.xmlsoap.org/disco/"); return; } TopLevelElement(); Write9_DiscoveryDocument(@"discovery", @"http://schemas.xmlsoap.org/disco/", ((global::System.Web.Services.Discovery.DiscoveryDocument)o), true, false); } void Write9_DiscoveryDocument(string n, string ns, global::System.Web.Services.Discovery.DiscoveryDocument o, bool isNullable, bool needType) { if ((object)o == null) { if (isNullable) WriteNullTagLiteral(n, ns); return; } if (!needType) { System.Type t = o.GetType(); if (t == typeof(global::System.Web.Services.Discovery.DiscoveryDocument)) { } else { throw CreateUnknownTypeException(o); } } WriteStartElement(n, ns, o, false, null); if (needType) WriteXsiType(@"DiscoveryDocument", @"http://schemas.xmlsoap.org/disco/"); { global::System.Collections.IList a = (global::System.Collections.IList)o.@References; if (a != null) { for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++) { global::System.Object ai = (global::System.Object)a[ia]; { if (ai is global::System.Web.Services.Discovery.SchemaReference) { Write7_SchemaReference(@"schemaRef", @"http://schemas.xmlsoap.org/disco/schema/", ((global::System.Web.Services.Discovery.SchemaReference)ai), false, false); } else if (ai is global::System.Web.Services.Discovery.ContractReference) { Write5_ContractReference(@"contractRef", @"http://schemas.xmlsoap.org/disco/scl/", ((global::System.Web.Services.Discovery.ContractReference)ai), false, false); } else if (ai is global::System.Web.Services.Discovery.DiscoveryDocumentReference) { Write3_DiscoveryDocumentReference(@"discoveryRef", @"http://schemas.xmlsoap.org/disco/", ((global::System.Web.Services.Discovery.DiscoveryDocumentReference)ai), false, false); } else if (ai is global::System.Web.Services.Discovery.SoapBinding) { Write8_SoapBinding(@"soap", @"http://schemas.xmlsoap.org/disco/soap/", ((global::System.Web.Services.Discovery.SoapBinding)ai), false, false); } else { if (ai != null) { throw CreateUnknownTypeException(ai); } } } } } } WriteEndElement(o); } void Write8_SoapBinding(string n, string ns, global::System.Web.Services.Discovery.SoapBinding o, bool isNullable, bool needType) { if ((object)o == null) { if (isNullable) WriteNullTagLiteral(n, ns); return; } if (!needType) { System.Type t = o.GetType(); if (t == typeof(global::System.Web.Services.Discovery.SoapBinding)) { } else { throw CreateUnknownTypeException(o); } } WriteStartElement(n, ns, o, false, null); if (needType) WriteXsiType(@"SoapBinding", @"http://schemas.xmlsoap.org/disco/soap/"); WriteAttribute(@"address", @"", ((global::System.String)o.@Address)); WriteAttribute(@"binding", @"", FromXmlQualifiedName(((global::System.Xml.XmlQualifiedName)o.@Binding))); WriteEndElement(o); } void Write3_DiscoveryDocumentReference(string n, string ns, global::System.Web.Services.Discovery.DiscoveryDocumentReference o, bool isNullable, bool needType) { if ((object)o == null) { if (isNullable) WriteNullTagLiteral(n, ns); return; } if (!needType) { System.Type t = o.GetType(); if (t == typeof(global::System.Web.Services.Discovery.DiscoveryDocumentReference)) { } else { throw CreateUnknownTypeException(o); } } WriteStartElement(n, ns, o, false, null); if (needType) WriteXsiType(@"DiscoveryDocumentReference", @"http://schemas.xmlsoap.org/disco/"); WriteAttribute(@"ref", @"", ((global::System.String)o.@Ref)); WriteEndElement(o); } void Write5_ContractReference(string n, string ns, global::System.Web.Services.Discovery.ContractReference o, bool isNullable, bool needType) { if ((object)o == null) { if (isNullable) WriteNullTagLiteral(n, ns); return; } if (!needType) { System.Type t = o.GetType(); if (t == typeof(global::System.Web.Services.Discovery.ContractReference)) { } else { throw CreateUnknownTypeException(o); } } WriteStartElement(n, ns, o, false, null); if (needType) WriteXsiType(@"ContractReference", @"http://schemas.xmlsoap.org/disco/scl/"); WriteAttribute(@"ref", @"", ((global::System.String)o.@Ref)); WriteAttribute(@"docRef", @"", ((global::System.String)o.@DocRef)); WriteEndElement(o); } void Write7_SchemaReference(string n, string ns, global::System.Web.Services.Discovery.SchemaReference o, bool isNullable, bool needType) { if ((object)o == null) { if (isNullable) WriteNullTagLiteral(n, ns); return; } if (!needType) { System.Type t = o.GetType(); if (t == typeof(global::System.Web.Services.Discovery.SchemaReference)) { } else { throw CreateUnknownTypeException(o); } } WriteStartElement(n, ns, o, false, null); if (needType) WriteXsiType(@"SchemaReference", @"http://schemas.xmlsoap.org/disco/schema/"); WriteAttribute(@"ref", @"", ((global::System.String)o.@Ref)); WriteAttribute(@"targetNamespace", @"", ((global::System.String)o.@TargetNamespace)); WriteEndElement(o); } protected override void InitCallbacks() { } } internal class DiscoveryDocumentSerializationReader : System.Xml.Serialization.XmlSerializationReader { public object Read10_discovery() { object o = null; Reader.MoveToContent(); if (Reader.NodeType == System.Xml.XmlNodeType.Element) { if (((object) Reader.LocalName == (object)id1_discovery && (object) Reader.NamespaceURI == (object)id2_Item)) { o = Read9_DiscoveryDocument(true, true); } else { throw CreateUnknownNodeException(); } } else { UnknownNode(null, @"http://schemas.xmlsoap.org/disco/:discovery"); } return (object)o; } global::System.Web.Services.Discovery.DiscoveryDocument Read9_DiscoveryDocument(bool isNullable, bool checkType) { System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; bool isNull = false; if (isNullable) isNull = ReadNull(); if (checkType) { if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id3_DiscoveryDocument && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) { } else throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); } if (isNull) return null; global::System.Web.Services.Discovery.DiscoveryDocument o; o = new global::System.Web.Services.Discovery.DiscoveryDocument(); global::System.Collections.IList a_0 = (global::System.Collections.IList)o.@References; bool[] paramsRead = new bool[1]; while (Reader.MoveToNextAttribute()) { if (!IsXmlnsAttribute(Reader.Name)) { UnknownNode((object)o); } } Reader.MoveToElement(); if (Reader.IsEmptyElement) { Reader.Skip(); return o; } Reader.ReadStartElement(); Reader.MoveToContent(); int whileIterations0 = 0; int readerCount0 = ReaderCount; while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { if (Reader.NodeType == System.Xml.XmlNodeType.Element) { if (((object) Reader.LocalName == (object)id4_discoveryRef && (object) Reader.NamespaceURI == (object)id2_Item)) { if ((object)(a_0) == null) Reader.Skip(); else a_0.Add(Read3_DiscoveryDocumentReference(false, true)); } else if (((object) Reader.LocalName == (object)id5_contractRef && (object) Reader.NamespaceURI == (object)id6_Item)) { if ((object)(a_0) == null) Reader.Skip(); else a_0.Add(Read5_ContractReference(false, true)); } else if (((object) Reader.LocalName == (object)id7_schemaRef && (object) Reader.NamespaceURI == (object)id8_Item)) { if ((object)(a_0) == null) Reader.Skip(); else a_0.Add(Read7_SchemaReference(false, true)); } else if (((object) Reader.LocalName == (object)id9_soap && (object) Reader.NamespaceURI == (object)id10_Item)) { if ((object)(a_0) == null) Reader.Skip(); else a_0.Add(Read8_SoapBinding(false, true)); } else { UnknownNode((object)o, @"http://schemas.xmlsoap.org/disco/:discoveryRef, http://schemas.xmlsoap.org/disco/scl/:contractRef, http://schemas.xmlsoap.org/disco/schema/:schemaRef, http://schemas.xmlsoap.org/disco/soap/:soap"); } } else { UnknownNode((object)o, @"http://schemas.xmlsoap.org/disco/:discoveryRef, http://schemas.xmlsoap.org/disco/scl/:contractRef, http://schemas.xmlsoap.org/disco/schema/:schemaRef, http://schemas.xmlsoap.org/disco/soap/:soap"); } Reader.MoveToContent(); CheckReaderCount(ref whileIterations0, ref readerCount0); } ReadEndElement(); return o; } global::System.Web.Services.Discovery.SoapBinding Read8_SoapBinding(bool isNullable, bool checkType) { System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; bool isNull = false; if (isNullable) isNull = ReadNull(); if (checkType) { if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id11_SoapBinding && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id10_Item)) { } else throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); } if (isNull) return null; global::System.Web.Services.Discovery.SoapBinding o; o = new global::System.Web.Services.Discovery.SoapBinding(); bool[] paramsRead = new bool[2]; while (Reader.MoveToNextAttribute()) { if (!paramsRead[0] && ((object) Reader.LocalName == (object)id12_address && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@Address = Reader.Value; paramsRead[0] = true; } else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id14_binding && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@Binding = ToXmlQualifiedName(Reader.Value); paramsRead[1] = true; } else if (!IsXmlnsAttribute(Reader.Name)) { UnknownNode((object)o, @":address, :binding"); } } Reader.MoveToElement(); if (Reader.IsEmptyElement) { Reader.Skip(); return o; } Reader.ReadStartElement(); Reader.MoveToContent(); int whileIterations1 = 0; int readerCount1 = ReaderCount; while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { if (Reader.NodeType == System.Xml.XmlNodeType.Element) { UnknownNode((object)o, @""); } else { UnknownNode((object)o, @""); } Reader.MoveToContent(); CheckReaderCount(ref whileIterations1, ref readerCount1); } ReadEndElement(); return o; } global::System.Web.Services.Discovery.SchemaReference Read7_SchemaReference(bool isNullable, bool checkType) { System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; bool isNull = false; if (isNullable) isNull = ReadNull(); if (checkType) { if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id15_SchemaReference && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id8_Item)) { } else throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); } if (isNull) return null; global::System.Web.Services.Discovery.SchemaReference o; o = new global::System.Web.Services.Discovery.SchemaReference(); bool[] paramsRead = new bool[2]; while (Reader.MoveToNextAttribute()) { if (!paramsRead[0] && ((object) Reader.LocalName == (object)id16_ref && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@Ref = Reader.Value; paramsRead[0] = true; } else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id17_targetNamespace && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@TargetNamespace = Reader.Value; paramsRead[1] = true; } else if (!IsXmlnsAttribute(Reader.Name)) { UnknownNode((object)o, @":ref, :targetNamespace"); } } Reader.MoveToElement(); if (Reader.IsEmptyElement) { Reader.Skip(); return o; } Reader.ReadStartElement(); Reader.MoveToContent(); int whileIterations2 = 0; int readerCount2 = ReaderCount; while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { if (Reader.NodeType == System.Xml.XmlNodeType.Element) { UnknownNode((object)o, @""); } else { UnknownNode((object)o, @""); } Reader.MoveToContent(); CheckReaderCount(ref whileIterations2, ref readerCount2); } ReadEndElement(); return o; } global::System.Web.Services.Discovery.ContractReference Read5_ContractReference(bool isNullable, bool checkType) { System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; bool isNull = false; if (isNullable) isNull = ReadNull(); if (checkType) { if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id18_ContractReference && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id6_Item)) { } else throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); } if (isNull) return null; global::System.Web.Services.Discovery.ContractReference o; o = new global::System.Web.Services.Discovery.ContractReference(); bool[] paramsRead = new bool[2]; while (Reader.MoveToNextAttribute()) { if (!paramsRead[0] && ((object) Reader.LocalName == (object)id16_ref && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@Ref = Reader.Value; paramsRead[0] = true; } else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id19_docRef && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@DocRef = Reader.Value; paramsRead[1] = true; } else if (!IsXmlnsAttribute(Reader.Name)) { UnknownNode((object)o, @":ref, :docRef"); } } Reader.MoveToElement(); if (Reader.IsEmptyElement) { Reader.Skip(); return o; } Reader.ReadStartElement(); Reader.MoveToContent(); int whileIterations3 = 0; int readerCount3 = ReaderCount; while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { if (Reader.NodeType == System.Xml.XmlNodeType.Element) { UnknownNode((object)o, @""); } else { UnknownNode((object)o, @""); } Reader.MoveToContent(); CheckReaderCount(ref whileIterations3, ref readerCount3); } ReadEndElement(); return o; } global::System.Web.Services.Discovery.DiscoveryDocumentReference Read3_DiscoveryDocumentReference(bool isNullable, bool checkType) { System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; bool isNull = false; if (isNullable) isNull = ReadNull(); if (checkType) { if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id20_DiscoveryDocumentReference && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)) { } else throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); } if (isNull) return null; global::System.Web.Services.Discovery.DiscoveryDocumentReference o; o = new global::System.Web.Services.Discovery.DiscoveryDocumentReference(); bool[] paramsRead = new bool[1]; while (Reader.MoveToNextAttribute()) { if (!paramsRead[0] && ((object) Reader.LocalName == (object)id16_ref && (object) Reader.NamespaceURI == (object)id13_Item)) { o.@Ref = Reader.Value; paramsRead[0] = true; } else if (!IsXmlnsAttribute(Reader.Name)) { UnknownNode((object)o, @":ref"); } } Reader.MoveToElement(); if (Reader.IsEmptyElement) { Reader.Skip(); return o; } Reader.ReadStartElement(); Reader.MoveToContent(); int whileIterations4 = 0; int readerCount4 = ReaderCount; while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { if (Reader.NodeType == System.Xml.XmlNodeType.Element) { UnknownNode((object)o, @""); } else { UnknownNode((object)o, @""); } Reader.MoveToContent(); CheckReaderCount(ref whileIterations4, ref readerCount4); } ReadEndElement(); return o; } protected override void InitCallbacks() { } string id1_discovery; string id4_discoveryRef; string id19_docRef; string id8_Item; string id14_binding; string id20_DiscoveryDocumentReference; string id17_targetNamespace; string id5_contractRef; string id10_Item; string id13_Item; string id7_schemaRef; string id3_DiscoveryDocument; string id9_soap; string id12_address; string id16_ref; string id11_SoapBinding; string id18_ContractReference; string id2_Item; string id15_SchemaReference; string id6_Item; protected override void InitIDs() { id1_discovery = Reader.NameTable.Add(@"discovery"); id4_discoveryRef = Reader.NameTable.Add(@"discoveryRef"); id19_docRef = Reader.NameTable.Add(@"docRef"); id8_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/disco/schema/"); id14_binding = Reader.NameTable.Add(@"binding"); id20_DiscoveryDocumentReference = Reader.NameTable.Add(@"DiscoveryDocumentReference"); id17_targetNamespace = Reader.NameTable.Add(@"targetNamespace"); id5_contractRef = Reader.NameTable.Add(@"contractRef"); id10_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/disco/soap/"); id13_Item = Reader.NameTable.Add(@""); id7_schemaRef = Reader.NameTable.Add(@"schemaRef"); id3_DiscoveryDocument = Reader.NameTable.Add(@"DiscoveryDocument"); id9_soap = Reader.NameTable.Add(@"soap"); id12_address = Reader.NameTable.Add(@"address"); id16_ref = Reader.NameTable.Add(@"ref"); id11_SoapBinding = Reader.NameTable.Add(@"SoapBinding"); id18_ContractReference = Reader.NameTable.Add(@"ContractReference"); id2_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/disco/"); id15_SchemaReference = Reader.NameTable.Add(@"SchemaReference"); id6_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/disco/scl/"); } } }