private void button2_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();

            var info = new CustomLayerInfo
            {
                Extent = new EnvelopeN
                {
                    XMin = 0,
                    YMin = 0,
                    XMax = 100,
                    YMax = 999
                },
                ID   = 123,
                Name = "Custom Layer Object"
            };

            var nearFeatsService = new localhost.USA_NetFindNearFeaturesSoapSOE();

            nearFeatsService.Url = "http://localhost:6080/arcgis/services/USA/MapServer/NetFindNearFeaturesSoapSOE";


            var result = nearFeatsService.DemoCustomObjectInput(info);

            var extent = (EnvelopeN)result.Extent;

            debug(
                string.Format("Layer {0} has ID: {1} and extent: {2},{3},{4},{5}",
                              result.Name, result.ID, extent.XMin, extent.YMin, extent.XMax, extent.YMax));
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //create instance of proxy
                var nearFeatsService = new localhost.USA_NetFindNearFeaturesSoapSOE();
                nearFeatsService.Url = "http://localhost:6080/arcgis/services/USA/MapServer/NetFindNearFeaturesSoapSOE";

                //getLayerInfos
                CustomLayerInfo[] layerInfos = nearFeatsService.GetLayerInfos();

                foreach (CustomLayerInfo layerInfo in layerInfos)
                {
                    EnvelopeN extent = (EnvelopeN)layerInfo.Extent;

                    debug(
                        string.Format("Layer {0} has ID: {1} and extent: {2},{3},{4},{5}",
                                      layerInfo.Name, layerInfo.ID, extent.XMin, extent.YMin, extent.XMax, extent.YMax));
                }


                //findNearFeatures
                CustomLayerInfo aLayerInfo = layerInfos[0];

                PointN location;
                double distance;
                GetCenterPointAndDistance((EnvelopeN)aLayerInfo.Extent, out location, out distance);

                RecordSet feats = nearFeatsService.FindNearFeatures(aLayerInfo.ID, location, distance);

                foreach (Record record in feats.Records)
                {
                    foreach (object o in record.Values)
                    {
                        if (o != null)
                        {
                            debug(o.ToString() + ", ");
                        }
                    }
                    debug("\n");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private CustomLayerInfos GetLayerInfos()
        {
            IMapServer3 mapServer = serverObjectHelper.ServerObject as IMapServer3;
            if (mapServer == null)
                throw new Exception("Unable to access the map server.");

            IMapServerInfo msInfo = mapServer.GetServerInfo(mapServer.DefaultMapName);
            IMapLayerInfos layerInfos = msInfo.MapLayerInfos;
            int c = layerInfos.Count;

            CustomLayerInfos customLayerInfos = new CustomLayerInfos(Constants.SOENamespaceURI);

            for (int i = 0; i < c; i++)
            {
                IMapLayerInfo layerInfo = layerInfos.get_Element(i);

                CustomLayerInfo customLayerInfo = new CustomLayerInfo();
                customLayerInfo.Name = layerInfo.Name;
                customLayerInfo.ID = layerInfo.ID;
                customLayerInfo.Extent = layerInfo.Extent;

                customLayerInfos.Add(customLayerInfo);
            }

            return customLayerInfos;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();

            var info = new CustomLayerInfo
                           {
                               Extent = new EnvelopeN
                                            {
                                                XMin = 0,
                                                YMin = 0,
                                                XMax = 100,
                                                YMax = 999
                                            },
                               ID = 123,
                               Name = "Custom Layer Object"
                           };

            var nearFeatsService = new localhost.USA_NetFindNearFeaturesSoapSOE();
            nearFeatsService.Url ="http://localhost:6080/arcgis/services/USA/MapServer/NetFindNearFeaturesSoapSOE";


            var result = nearFeatsService.DemoCustomObjectInput(info);

            var extent = (EnvelopeN) result.Extent;

            debug(
                string.Format("Layer {0} has ID: {1} and extent: {2},{3},{4},{5}",
                              result.Name, result.ID, extent.XMin, extent.YMin, extent.XMax, extent.YMax));

        }