<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How do you determine supported operations for a service in code? in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179126#M4227</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The api does not have explicit property/method to list supported operations for REST service. however,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ypu can make a HTTP call to the REST url for a service with f=json and use JSON.decode method of the api to get the flex object from which you can get the info about the supported operations.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Apr 2010 20:37:35 GMT</pubDate>
    <dc:creator>MehulChoksey</dc:creator>
    <dc:date>2010-04-06T20:37:35Z</dc:date>
    <item>
      <title>How do you determine supported operations for a service in code?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179125#M4226</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When I look at the REST url for a service it tells me (at the bottom) the list of supported operations for that service, e.g., Export Map, Identify, Generate KML, etc.&amp;nbsp; Is there a way in code to determine what the supported operations are on a map service layer.&amp;nbsp; My problem is that some services have "Identify" and some do not.&amp;nbsp; I do not need to call an Identify operation for a layer that doesn't support this.&amp;nbsp; Furthermore, within that service some of the layers have "Query" capabilities and some do not.&amp;nbsp; I would like to be able to determine this via code.&amp;nbsp; Can I do this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Apr 2010 14:27:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179125#M4226</guid>
      <dc:creator>DeonaEvans</dc:creator>
      <dc:date>2010-04-06T14:27:25Z</dc:date>
    </item>
    <item>
      <title>How do you determine supported operations for a service in code?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179126#M4227</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The api does not have explicit property/method to list supported operations for REST service. however,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ypu can make a HTTP call to the REST url for a service with f=json and use JSON.decode method of the api to get the flex object from which you can get the info about the supported operations.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Apr 2010 20:37:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179126#M4227</guid>
      <dc:creator>MehulChoksey</dc:creator>
      <dc:date>2010-04-06T20:37:35Z</dc:date>
    </item>
    <item>
      <title>capabilities property at final</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179127#M4228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;~ Is there a way in code to determine what the supported operations are on a map service layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We'll be adding a "capabilities" property to the JSON response at final. It will be a comma-separated string whose value will be something like "Map,Query".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Map =&amp;gt; export map supported&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Query =&amp;gt; find and identify supported&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;== Keyur&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Apr 2010 23:22:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179127#M4228</guid>
      <dc:creator>KeyurShah</dc:creator>
      <dc:date>2010-04-06T23:22:00Z</dc:date>
    </item>
    <item>
      <title>How do you determine supported operations for a service in code?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179128#M4229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Deona,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Here is a working example of how to get the supported services as Mehul eludes to. This will work until the final release as Keyur mentions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;mx:Application 
 xmlns:mx="http://www.adobe.com/2006/mxml" 
 layout="absolute" 
 xmlns:esri="http://www.esri.com/2008/ags"&amp;gt;
 &amp;lt;mx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.*;
&amp;nbsp;&amp;nbsp; import mx.rpc.http.HTTPService;
&amp;nbsp;&amp;nbsp; import mx.controls.TextInput;
&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder; 
&amp;nbsp;&amp;nbsp; import mx.rpc.events.ResultEvent;
&amp;nbsp;&amp;nbsp; import com.esri.serialization.json.JSON
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private var httpServ:HTTPService;
&amp;nbsp;&amp;nbsp; private var canIdentify:Boolean = false;
&amp;nbsp;&amp;nbsp; private var canFind:Boolean = false;
&amp;nbsp;&amp;nbsp; private var tiledMS:Boolean = false;
&amp;nbsp;&amp;nbsp; private var dynamicMS:Boolean = false;
&amp;nbsp;&amp;nbsp; private var canQuery:Boolean = false;
&amp;nbsp;&amp;nbsp; private var msURL:String = "";
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function SendReq():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; bdyn.selected = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; btiled.selected = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bquery.selected = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bfind.selected = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bident.selected = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; dynamicMS = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; tiledMS = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; canQuery = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; canFind = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; canIdentify = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ&amp;nbsp; = new HTTPService();
&amp;nbsp;&amp;nbsp;&amp;nbsp; msURL = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var tSplit:Array = layURL.text.split("/");
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(String(tSplit[tSplit.length - 1]).toLowerCase() == "mapserver")
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msURL = layURL.text;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.url = layURL.text + "?f=json";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.addEventListener(ResultEvent.RESULT,xmlTypeResult);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.send();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }else if(!isNaN(Number(tSplit[tSplit.length - 1]))){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msURL = layURL.text.replace(tSplit[tSplit.length - 1],"");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.url = layURL.text + "/query?f=json";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.addEventListener(ResultEvent.RESULT,canQueryResult);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.send();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function canIdentResult(event:ResultEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var typeXML:Object;
&amp;nbsp;&amp;nbsp;&amp;nbsp; typeXML = JSON.decode(event.result.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(typeXML.error.details[0] != "Identify operation not supported on this service")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canIdentify = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ = new HTTPService();
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.url = msURL + "/find?f=json";
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.addEventListener(ResultEvent.RESULT,canFindResult);
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.send();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function canQueryResult(event:ResultEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var typeXML:Object;
&amp;nbsp;&amp;nbsp;&amp;nbsp; typeXML = JSON.decode(event.result.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(typeXML.error.details[0] != "Query operation not supported on this service")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canQuery = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ = new HTTPService(); 
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.url = msURL + "?f=json";
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.addEventListener(ResultEvent.RESULT,xmlTypeResult);
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.send();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function canFindResult(event:ResultEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var typeXML:Object;
&amp;nbsp;&amp;nbsp;&amp;nbsp; typeXML = JSON.decode(event.result.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(typeXML.error.details[0] != "Find operation is not supported on this service")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canFind = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; bdyn.selected = dynamicMS;
&amp;nbsp;&amp;nbsp;&amp;nbsp; btiled.selected = tiledMS;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bquery.selected = canQuery;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bfind.selected = canFind;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bident.selected = canIdentify;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function xmlTypeResult(event:ResultEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var typeXML:Object;
&amp;nbsp;&amp;nbsp;&amp;nbsp; typeXML = JSON.decode(event.result.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(typeXML.hasOwnProperty("tileInfo")){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tiledMS = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dynamicMS = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ = new HTTPService();
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.url = msURL + "/identify?f=json";
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.addEventListener(ResultEvent.RESULT,canIdentResult);
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpServ.send();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/mx:Script&amp;gt;
 &amp;lt;mx:TextInput id="layURL" x="26" y="24" width="579" text="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer" /&amp;gt;
 &amp;lt;mx:Button x="613" y="24" label="Load..." click="SendReq()"/&amp;gt;
 &amp;lt;mx:CheckBox x="26" y="54" label="Dynamic" id="bdyn"/&amp;gt;
 &amp;lt;mx:CheckBox x="26" y="114" label="Query Supported" id="bquery"/&amp;gt;
 &amp;lt;mx:CheckBox x="26" y="144" label="Find Supported" id="bfind"/&amp;gt;
 &amp;lt;mx:CheckBox x="26" y="174" label="Identify Supported" id="bident"/&amp;gt;
 &amp;lt;mx:CheckBox x="26" y="84" label="Tiled" id="btiled"/&amp;gt;
&amp;lt;/mx:Application&amp;gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 09:10:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/how-do-you-determine-supported-operations-for-a/m-p/179128#M4229</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2021-12-11T09:10:22Z</dc:date>
    </item>
  </channel>
</rss>

