static SoapHeaderCollection ReadHeaders(XmlTextReader xmlReader, XmlSerializer headerSerializer, string ns) { SoapHeaderCollection headers = null; while (!(xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Body" && xmlReader.NamespaceURI == ns)) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Header" && xmlReader.NamespaceURI == ns && !xmlReader.IsEmptyElement && headerSerializer != null) { xmlReader.ReadStartElement(); xmlReader.MoveToContent(); HeaderSerializationHelper uh = new HeaderSerializationHelper(headerSerializer); headers = uh.Deserialize(xmlReader); while (xmlReader.NodeType != XmlNodeType.EndElement) { xmlReader.Skip(); } xmlReader.ReadEndElement(); } else { xmlReader.Skip(); } } if (headers != null) { return(headers); } else { return(new SoapHeaderCollection()); } }
static SoapHeaderCollection ReadHeaders (XmlTextReader xmlReader, XmlSerializer headerSerializer, string ns) { SoapHeaderCollection headers = null; while (! (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Body" && xmlReader.NamespaceURI == ns)) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Header" && xmlReader.NamespaceURI == ns && !xmlReader.IsEmptyElement && headerSerializer != null) { xmlReader.ReadStartElement (); xmlReader.MoveToContent (); HeaderSerializationHelper uh = new HeaderSerializationHelper (headerSerializer); headers = uh.Deserialize (xmlReader); while (xmlReader.NodeType != XmlNodeType.EndElement) xmlReader.Skip (); xmlReader.ReadEndElement (); } else xmlReader.Skip (); } if (headers != null) return headers; else return new SoapHeaderCollection (); }