Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="stm"></param>
        /// <param name="svcType"></param>
        /// <returns></returns>
        public XmlRpcResponse DeserializeResponse(Stream stm, Type svcType)
        {
            if (stm == null)
            {
                throw new ArgumentNullException("stm",
                                                "XmlRpcSerializer.DeserializeResponse");
            }
            if (AllowInvalidHTTPContent)
            {
                Stream newStm = new MemoryStream();
                Util.CopyStream(stm, newStm);
                stm          = newStm;
                stm.Position = 0;
                while (true)
                {
                    // for now just strip off any leading CR-LF characters
                    int byt = stm.ReadByte();
                    if (byt == -1)
                    {
                        throw new XmlRpcIllFormedXmlException(
                                  "Response from server does not contain valid XML.");
                    }
                    if (byt != 0x0d && byt != 0x0a && byt != ' ' && byt != '\t')
                    {
                        stm.Position = stm.Position - 1;
                        break;
                    }
                }
            }
            XmlReader xmlRdr = XmlRpcXmlReader.Create(stm);

            return(DeserializeResponse(xmlRdr, svcType));
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="txtrdr"></param>
        /// <param name="svcType"></param>
        /// <returns></returns>
        public XmlRpcResponse DeserializeResponse(TextReader txtrdr, Type svcType)
        {
            if (txtrdr == null)
            {
                throw new ArgumentNullException("txtrdr",
                                                "XmlRpcSerializer.DeserializeResponse");
            }
            XmlReader xmlRdr = XmlRpcXmlReader.Create(txtrdr);

            return(DeserializeResponse(xmlRdr, svcType));
        }
Пример #3
0
        public XmlRpcRequest DeserializeRequest(Stream stm, Type svcType)
        {
            if (stm == null)
            {
                throw new ArgumentNullException("stm",
                                                "XmlRpcSerializer.DeserializeRequest");
            }
            XmlReader xmlRdr = XmlRpcXmlReader.Create(stm);

            return(DeserializeRequest(xmlRdr, svcType));
        }
Пример #4
0
        public static object ParseValue(string xml, Type valueType)
        {
            var sr     = new StringReader(xml);
            var reader = XmlRpcXmlReader.Create(sr);

            reader.MoveToContent();
            return(new XmlRpcDeserializer()
                   .ParseValueElement(
                       reader,
                       valueType,
                       new MappingStack("value"),
                       MappingAction.Error));
        }
Пример #5
0
        public static XmlReader Serialize(string testName, object obj, Encoding encoding, MappingActions actions)
        {
            Stream stm = new MemoryStream();

            var xtw = XmlRpcXmlWriter.Create(stm, new XmlRpcFormatSettings());

            xtw.WriteStartDocument();
            var ser = new XmlRpcSerializer();

            ser.Serialize(xtw, obj, actions);
            xtw.Flush();
            stm.Position = 0;

            return(XmlRpcXmlReader.Create(stm));
        }
Пример #6
0
        // ----------------------------------------------------------------------//
        public static object Parse(
            string xml,
            Type valueType,
            MappingAction action,
            out Type parsedType,
            out Type parsedArrayType)
        {
            var sr = new StringReader(xml);

            return(Parse(
                       XmlRpcXmlReader.Create(sr),
                       valueType,
                       action,
                       out parsedType,
                       out parsedArrayType));
        }