public static ServiceRequest Deserialize(XmlReader reader, ServiceRequest serviceRequest)
        {
            if (reader.IsStartElement(DTD.Request.TagServiceRequest))
            {
                if (serviceRequest == null)
                {
                    serviceRequest = new ServiceRequest();
                }

                serviceRequest.Class = reader.GetAttribute(DTD.Request.ServiceRequest.TagClass);
                serviceRequest.Name  = reader.GetAttribute(DTD.Request.ServiceRequest.TagService);

                if (!reader.IsEmptyElement)
                {
                    reader.ReadStartElement();
                    serviceRequest.Arguments = XMLArgumentsSerializer.Deserialize(reader.ReadSubtree());
                }
                else
                {
                    reader.Skip();
                }
            }
            else
            {
                throw new ArgumentException("Xml Reader don't have the Service.Request in Start Element.", "XmlReader reader");
            }

            return(serviceRequest);
        }
Пример #2
0
        public static ServiceResponse Deserialize(XmlReader reader, ServiceResponse serviceResponse)
        {
            if (reader.IsStartElement(DTD.Response.TagServiceResponse))
            {
                if (serviceResponse == null)
                {
                    serviceResponse = new ServiceResponse();
                }

                if (!reader.IsEmptyElement)
                {
                    reader.ReadStartElement();
                    do
                    {
                        #region <ERROR>
                        if (reader.IsStartElement(DTD.Response.ServiceResponse.TagError))
                        {
                            if (int.Parse(reader.GetAttribute(DTD.Error.TagNumber)) != 0)
                            {
                                throw XMLErrorSerializer.Deserialize(reader.ReadSubtree());
                            }
                            else
                            {
                                reader.Skip();
                            }
                        }
                        #endregion <ERROR>

                        #region <OID>
                        if (reader.IsStartElement(DTD.TagOID))
                        {
                            serviceResponse.Oid = XMLAdaptorOIDSerializer.Deserialize(reader.ReadSubtree());
                        }
                        #endregion <OID>

                        #region <Arguments>
                        if (reader.IsStartElement(DTD.Response.ServiceResponse.TagArguments))
                        {
                            serviceResponse.Arguments = XMLArgumentsSerializer.Deserialize(reader.ReadSubtree());
                        }
                        #endregion <Arguments>
                    } while (reader.Read());
                }
                else
                {
                    reader.Skip();
                }
            }
            else
            {
                throw new ArgumentException("Xml Reader don't have the Service.Response in Start Element.", "XmlReader reader");
            }
            return(serviceResponse);
        }
Пример #3
0
        public static XmlWriter Serialize(XmlWriter writer, ServiceResponse serviceResponse)
        {
            writer.WriteStartElement(DTD.Response.TagServiceResponse);
            writer.WriteElementString(DTD.Error.TagError, string.Empty);

            XMLAdaptorOIDSerializer.Serialize(writer, serviceResponse.Oid);
            XMLArgumentsSerializer.Serialize(writer, serviceResponse.Arguments);

            writer.WriteEndElement();
            return(writer);
        }
        public static XmlWriter Serialize(XmlWriter writer, ServiceRequest serviceRequest)
        {
            writer.WriteStartElement(DTD.Request.TagServiceRequest);
            writer.WriteAttributeString(DTD.Request.ServiceRequest.TagClass, serviceRequest.Class);
            writer.WriteAttributeString(DTD.Request.ServiceRequest.TagService, serviceRequest.Name);

            XMLArgumentsSerializer.Serialize(writer, serviceRequest.Arguments);

            XMLChangeDetectionItemsSerializer.Serialize(writer, serviceRequest.ChangeDetectionItems);
            writer.WriteEndElement();
            return(writer);
        }