/// <summary>
 /// Serialize the argument object into the stream provided.
 /// </summary>
 /// <param name="data">Xml stream to serialize the argument object into</param>
 public void Serialize(IXMLSerializeData data)
 {
     #region Prepare PropertySet
     object names = null, values = null;
     myProperties.GetAllProperties(out names, out values);
     IStringArray  myNames   = new StrArray();
     string[]      nameArray = (string[])names;
     IVariantArray myValues  = new VarArray();
     object[]      valArray  = (object[])values;
     for (int i = 0; i < nameArray.GetLength(0); ++i)
     {
         myNames.Add(nameArray[i]);
         if (valArray[i] is IDataset)
         {
             IName myDatasetName = ((IDataset)valArray[i]).FullName;
             myValues.Add(myDatasetName);
         }
         else
         {
             myValues.Add(valArray[i]);
         }
     }
     #endregion
     data.TypeName         = "WatermarkFunctionArguments";
     data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2";
     data.AddObject("Names", myNames);
     data.AddObject("Values", myValues);
 }
示例#2
0
        public void Serialize(IXMLSerializeData data)
        {
            data.TypeName         = "HttpBasicAuthenticationGPValue";
            data.TypeNamespaceURI = "http://www.esri.com/schemas/ArcGIS/10.0";

            data.AddString(m_xmlElementName, EncodeUserAuthentication(m_username, m_password));
        }
        private void BufferGeometry(IMessage reqMsg, IMessage respMsg)
        {
            IXMLSerializeData reqParams = reqMsg.Parameters;

            //get Geometry
            int idx = reqParams.Find("Geometry");   //name of the xml element in the wsdl for this parameter

            if (idx == -1)
            {
                throw new ArgumentNullException("Geometry");
            }

            IGeometry geom = (IGeometry)reqParams.GetObject(idx, c_ns_esri, "Geometry");

            //get Distance
            idx = reqParams.Find("Distance");       //name of the xml element in the wsdl for this parameter
            if (idx == -1)
            {
                throw new ArgumentNullException("Distance");
            }

            double distance = reqParams.GetDouble(idx);

            //execute
            IPolygon buffer = BufferGeometry(geom, distance);

            //fill response
            respMsg.Name         = "BufferGeometryResponse"; //this is the name of the xml element for the SOAP response. It must match the wsdl.
            respMsg.NamespaceURI = c_ns_soe;                 //the response message uses your namespace (not ESRI's)
            respMsg.Parameters.AddObject("Result", buffer);  //the name of the xml element for the output parameter is Result. This must match the wsdl.
        }
 /// <summary>
 /// Serialize the Raster Function into the stream provided.
 /// </summary>
 /// <param name="data">Xml stream to serialize the function into</param>
 public void Serialize(IXMLSerializeData data)
 {
     data.TypeName         = "WatermarkFunction";
     data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2";
     data.AddString("Name", myName);
     data.AddString("Description", myDescription);
     data.AddInteger("PixelType", (int)myPixeltype);
 }
        public void Serialize(IXMLSerializeData data)
        {
            data.TypeName         = GetType().Name;
            data.TypeNamespaceURI = Constants.SOENamespaceURI;

            data.AddString("Name", Name);
            data.AddInteger("ID", ID);
            data.AddObject("Extent", Extent);
        }
        private void EchoInput(IMessage reqMsg, IMessage respMsg)
        {
            IXMLSerializeData reqParams = reqMsg.Parameters;

            string inputString = reqParams.GetString(FindParam("Text", reqParams));

            respMsg.Name         = "EchoInputResponse";
            respMsg.NamespaceURI = c_SOENamespace;
            respMsg.Parameters.AddString("Result", inputString);
        }
        private void DemoArrayOfCustomObjectsInput(IMessage reqMsg, IMessage respMsg)
        {
            IXMLSerializeData reqParams = reqMsg.Parameters;

            var layerInfos = (CustomLayerInfos)reqParams.GetObject(FindParam("layerInfos", reqParams), Constants.SOENamespaceURI, "ArrayOfCustomLayerInfo");

            respMsg.Name         = "DemoArrayOfCustomObjectsInputResponse";
            respMsg.NamespaceURI = Constants.SOENamespaceURI;
            respMsg.Parameters.AddObject("Result", layerInfos);
        }
        private int FindParam(string parameterName, IXMLSerializeData msgParams)
        {
            int idx = msgParams.Find(parameterName);

            if (idx == -1)
            {
                throw new ArgumentNullException(parameterName);
            }
            return(idx);
        }
        private int FindMandatoryParam(string fieldName, IXMLSerializeData data)
        {
            int idx = data.Find(fieldName);

            if (idx == -1)
            {
                throw new MissingMandatoryFieldException(fieldName);
            }
            return(idx);
        }
示例#10
0
        public void Deserialize(IXMLSerializeData data)
        {
            int elementIndex = -1;

            elementIndex = data.Find(m_xmlElementName);

            if (elementIndex > -1)
            {
                DecodeUserNamePassword(data.GetString(elementIndex));
            }
        }
        public void Deserialize(IXMLSerializeData data)
        {
            int idx = FindMandatoryParam("Name", data);

            this.Name = data.GetString(idx);

            idx     = FindMandatoryParam("ID", data);
            this.ID = data.GetInteger(idx);

            idx         = FindMandatoryParam("Extent", data);
            this.Extent = (IEnvelope)data.GetObject(idx, Constants.ESRINamespaceURI, "Envelope");
        }
        private void FindNearFeatures(IMessage reqMsg, IMessage respMsg)
        {
            IXMLSerializeData reqParams = reqMsg.Parameters;

            int layerID = reqParams.GetInteger(FindParam("LayerID", reqParams));

            IPoint location = (IPoint)reqParams.GetObject(FindParam("Location", reqParams), Constants.ESRINamespaceURI, "PointN");

            double distance = reqParams.GetDouble(FindParam("Distance", reqParams));

            IRecordSet recordSet = FindNearFeatures(layerID, location, distance);

            respMsg.Name         = "FindNearFeaturesResponse";
            respMsg.NamespaceURI = Constants.SOENamespaceURI;
            respMsg.Parameters.AddObject("Result", recordSet);
        }
        /// <summary>
        /// Deserialize the argument object from the stream provided
        /// </summary>
        /// <param name="data">Xml stream to deserialize the argument object from</param>
        public void Deserialize(IXMLSerializeData data)
        {
            int nameIndex = data.Find("Names");
            int valIndex  = data.Find("Values");

            if (nameIndex != -1 && valIndex != -1)
            {
                IStringArray  myNames  = (IStringArray)data.GetVariant(nameIndex);
                IVariantArray myValues = (IVariantArray)data.GetVariant(valIndex);
                for (int i = 0; i < myNames.Count; ++i)
                {
                    myProperties.SetProperty(myNames.get_Element(i),
                                             myValues.get_Element(i));
                }
            }
        }
 /// <summary>
 /// Deserialize the Raster Function from the datastream provided
 /// </summary>
 /// <param name="data">Xml stream to deserialize the function from</param>
 public void Deserialize(IXMLSerializeData data)
 {
     myName        = data.GetString(data.Find("Name"));
     myDescription = data.GetString(data.Find("Description"));
     myPixeltype   = (rstPixelType)(data.GetInteger(data.Find("PixelType")));
 }
 /// <summary>
 /// Deserialize the Raster Function from the datastream provided
 /// </summary>
 /// <param name="data">Xml stream to deserialize the function from</param>
 public void Deserialize(IXMLSerializeData data)
 {
     myName = data.GetString(data.Find("Name"));
     myDescription = data.GetString(data.Find("Description"));
     myPixeltype = (rstPixelType)(data.GetInteger(data.Find("PixelType")));
 }
 /// <summary>
 /// Serialize the Raster Function into the stream provided.
 /// </summary>
 /// <param name="data">Xml stream to serialize the function into</param>
 public void Serialize(IXMLSerializeData data)
 {
     data.TypeName = "NDVICustomFunction";
     data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2";
     data.AddString("Name", myName);
     data.AddString("Description", myDescription);
     data.AddInteger("PixelType", (int)myPixeltype);
 }
 /// <summary>
 /// Deserialize the argument object from the datastream provided
 /// </summary>
 /// <param name="data">Xml stream to deserialize the argument object from</param>
 public void Deserialize(IXMLSerializeData data)
 {
     int nameIndex = data.Find("Names");
     int valIndex = data.Find("Values");
     if (nameIndex != -1 && valIndex != -1)
     {
         IStringArray myNames = (IStringArray)data.GetVariant(nameIndex);
         IVariantArray myValues = (IVariantArray)data.GetVariant(valIndex);
         for (int i = 0; i < myNames.Count; ++i)
         {
             myProperties.SetProperty(myNames.get_Element(i),
                 myValues.get_Element(i));
         }
     }
 }
 /// <summary>
 /// Serialize the argument object into the stream provided.
 /// </summary>
 /// <param name="data">Xml stream to serialize the argument object into</param>
 public void Serialize(IXMLSerializeData data)
 {
     #region Prepare PropertySet
     object names = null, values = null;
     myProperties.GetAllProperties(out names, out values);
     IStringArray myNames = new StrArray();
     string[] nameArray = (string[])names;
     IVariantArray myValues = new VarArray();
     object[] valArray = (object[])values;
     for (int i = 0; i < nameArray.GetLength(0); ++i)
     {
         myNames.Add(nameArray[i]);
         if (valArray[i] is IDataset)
         {
             IName myDatasetName = ((IDataset)valArray[i]).FullName;
             myValues.Add(myDatasetName);
         }
         else
             myValues.Add(valArray[i]);
     }
     #endregion
     data.TypeName = "NDVICustomFunctionArguments";
     data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2";
     data.AddObject("Names", myNames);
     data.AddObject("Values", myValues);
 }
        public void Serialize(IXMLSerializeData data)
        {
            data.TypeName = "HttpBasicAuthenticationGPValue";
            data.TypeNamespaceURI = "http://www.esri.com/schemas/ArcGIS/10.0";

            data.AddString(m_xmlElementName, EncodeUserAuthentication(m_username, m_password));
        }
        public void Deserialize(IXMLSerializeData data)
        {
            int elementIndex = -1;
            elementIndex = data.Find(m_xmlElementName);

            if (elementIndex > -1)
            {
                DecodeUserNamePassword(data.GetString(elementIndex));
            }
        }
示例#21
0
 void ESRI.ArcGIS.esriSystem.IXMLSerialize.Serialize(IXMLSerializeData data)
 {
 }
 private int FindParam(string parameterName, IXMLSerializeData msgParams)
 {
     int idx = msgParams.Find(parameterName);
     if (idx == -1)
         throw new ArgumentNullException(parameterName);
     return idx;
 }
示例#23
0
 public void Deserialize(IXMLSerializeData data)
 {
     throw new NotImplementedException();
 }