Attribute rule arcade expression calling webservice and processing result

6398
14
09-15-2020 04:21 AM
Jens_Dalsgaard
Occasional Contributor

Upon insert or move of a feature I would like to call a service (using X and Y of the feature as input) and use the returned result for updating an attribute on the feature in question. This seems like something I should write an Arcade expression for. Apparently this is not supported for now.

I believe such capability is highly relevant considering Esri promoting the service-based architecture. Anyone out there agreeing, please give it a vote.

Esri - should you already be considering this please let me know of the roadmap.

Best regards 

Jens Dalsgaard

14 Comments
Jens_Dalsgaard

Upon insert or move of a feature I would like to call a service (using X and Y of the feature as input) and use the returned result for updating an attribute on the feature in question. This seems like something I should write an Arcade expression for. Apparently this is not supported for now.

I believe such capability is highly relevant considering Esri promoting the service-based architecture. Anyone out there agreeing, please give it a vote.

Esri - should you already be considering this please let me know of the roadmap.

Best regards 

Jens Dalsgaard

JimmyBowden

This would be helpful as many services move to the cloud and replicating data into the GIS is not always possible. Beyond the example on editing I could see this being used for enriching popup data.  

NicholeSalinger

I have a similar request that Arcade allow API calls from api.data.gov and then parse the JSON results so I can visualize the info in the pop-up.    Here's an example of the results from api.data.gov

 

@XanderBakker

api.data.gov.jpg

XanderBakker

Hi @NicholeSalinger ,

As far as I understand being able to make a REST request and parse the returned JSON is something that is on the roadmap. Unfortunately, I don't have an ETA on when this will be available. Once available, this will open a huge amount of possibilities.

NicholeSalinger

@XanderBakker 

Apologies, I didn't see your response until just now.

Is there any alternatives that I could try? The API call I reference above is the result of an arcade expression but it's easy enough to hardcode the URL as a it's own feature if that means that I can return the result in the feature layer. 

 

XanderBakker

HI @NicholeSalinger ,

As I mentioned before within an attribute rule at this moment there is no support for firing REST requests. However, if you are creating your own app using the ArcGIS API for JavaScript you have full control and should be able to code this functionality. 

KoryKramer
Status changed to: Under Consideration
 
QuantitativeFuturist

Yes agree this is key functionality in a web services architecture. Yes there are other ways to accomplish the same result but the power and flexibility of this is not to be underestimated. Please make this a priority.

Bud
by

I support this idea (related).

@NicholeSalinger, and for anyone else who’s interested:

As a last resort, in enterprise GDBs, and depending on the DB type (Oracle, etc), we might have the option of making HTTP calls via the database.

For example, Oracle has the UTL_HTTP package that can make HTTP calls from PL/SQL. So in theory, we could use that in conjunction with a database trigger to make a call to an external system.
Or make the HTTP call from a database view, and then use that related view in an arcade script: Arcade: Use related DB views as FeatureSets

That's far from ideal; it’s complicated, would take some time/effort from the DBA to set up, and would be clunky to manage. But it might work as a very last resort.

I’ve seen it used in systems that aren’t configurable (except through the database) for integrations between systems.

NicholeSalinger

@Bud 

Thank you for the advice! I have consulted with my organization's admins about this solution and we found that it would be a big lift considering the number of data sources used in my existing web map application. Hopefully this feature is picked up by ESRI. Thanks again!