Esempio n. 1
0
        public static object ReadXmlValue(SoapReader reader)
        {
            reader.XmlReader.MoveToElement();
            if (reader.XmlReader.IsEmptyElement)
            {
                reader.XmlReader.Skip();
                return(new Type[0]);
            }
            reader.XmlReader.ReadStartElement();
            string names = reader.XmlReader.ReadString();

            while (reader.XmlReader.NodeType != XmlNodeType.EndElement)
            {
                reader.XmlReader.Skip();
            }

            ArrayList types = new ArrayList();

            string[] tns = names.Split(' ');
            foreach (string tn in tns)
            {
                if (tn.Length == 0)
                {
                    continue;
                }
                types.Add(reader.GetTypeFromQName(tn));
            }
            reader.XmlReader.ReadEndElement();
            return((Type[])types.ToArray(typeof(Type)));
        }
Esempio n. 2
0
		public object Deserialize(Stream serializationStream, HeaderHandler handler) {
			object objReturn = null;
			SoapReader soapReader = new SoapReader(_binder, _selector, _context);
			CultureInfo savedCi = CultureInfo.CurrentCulture;
			try {
				Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
				objReturn = soapReader.Deserialize(serializationStream, _topObject);
			}
			finally {
				Thread.CurrentThread.CurrentCulture = savedCi;
			}
			return objReturn;
		}
Esempio n. 3
0
        public object Deserialize(Stream serializationStream, HeaderHandler handler)
        {
            object      objReturn  = null;
            SoapReader  soapReader = new SoapReader(_binder, _selector, _context);
            CultureInfo savedCi    = CultureInfo.CurrentCulture;

            try {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
                objReturn = soapReader.Deserialize(serializationStream, _topObject);
            }
            finally {
                Thread.CurrentThread.CurrentCulture = savedCi;
            }
            return(objReturn);
        }
Esempio n. 4
0
        public object ReadInternalSoapValue(SoapReader reader, Type type)
        {
            if (CanBeValue(type))
            {
                return(ParseXsdValue(reader.XmlReader.ReadElementString(), type));
            }

            if (type == typeof(MethodSignature))
            {
                return(MethodSignature.ReadXmlValue(reader));
            }

            string val = reader.XmlReader.ReadElementString();

            Element elem = GetXmlElement(type);

            if (elem.ParseMethod != null)
            {
                return(elem.ParseMethod.Invoke(null, new object[] { val }));
            }

            throw new SerializationException("Can't parse type " + type);
        }
Esempio n. 5
0
		public static object ReadXmlValue (SoapReader reader)
		{
			reader.XmlReader.MoveToElement ();
			if (reader.XmlReader.IsEmptyElement) {
				reader.XmlReader.Skip ();
				return new Type[0];
			}
			reader.XmlReader.ReadStartElement ();
			string names = reader.XmlReader.ReadString ();
			while (reader.XmlReader.NodeType != XmlNodeType.EndElement)
				reader.XmlReader.Skip ();
				
			ArrayList types = new ArrayList ();
			string[] tns = names.Split (' ');
			foreach (string tn in tns) {
				if (tn.Length == 0) continue;
				types.Add (reader.GetTypeFromQName (tn));
			}
			reader.XmlReader.ReadEndElement ();
			return (Type[]) types.ToArray (typeof(Type));
		}
Esempio n. 6
0
		public object ReadInternalSoapValue (SoapReader reader, Type type)
		{
			if (CanBeValue (type))
				return ParseXsdValue (reader.XmlReader.ReadElementString (), type);
			
			if (type == typeof(MethodSignature)) {
				return MethodSignature.ReadXmlValue (reader);
			}
			
			string val = reader.XmlReader.ReadElementString ();
			
			Element elem = GetXmlElement (type);
			if (elem.ParseMethod != null)
				return elem.ParseMethod.Invoke (null, new object[] { val });
			
			throw new SerializationException ("Can't parse type " + type);
		}
Esempio n. 7
0
        public object Deserialize(Stream serializationStream, HeaderHandler handler)
        {
            SoapReader soapReader = new SoapReader(_binder, _selector, _context);

            return(soapReader.Deserialize(serializationStream, _topObject));
        }
Esempio n. 8
0
		public object Deserialize(Stream serializationStream, HeaderHandler handler) {
			SoapReader soapReader = new SoapReader(_binder, _selector, _context);
			return soapReader.Deserialize(serializationStream, _topObject);
		}