Пример #1
0
        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());
            }
        }
Пример #2
0
		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 ();
		}