Hi @Clive Swan
Here is a sample workspace using ArcGISOnlineConnector, HTTPCaller and Aggregator/ListBuilder to complete this process.
Hi Rahul,
Thanks for your post, much appreciated.
I couldn't get the Transformer to loop through the services fme_layere0] = servicec0], I will test your workbench, later this morning.
Regards,
Clive
Hi Rahul,
Just been working through your example.
I am working with Portal, not AGOL, login using a token.
I have a workbench that returns all the Feature Services.
I get the group and item ID, url, owner, etc.
but I cannot loop through the Layers and return the Layer name and REST.
I get
01234ecb8e1c34d25ad63ece3840f01234 Feature Service https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer Temp Works
01234ecb8e1c34d25ad63ece3840f01234 Feature Service https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer Temp Works
01234ecb8e1c34d25ad63ece3840f01234 Feature Service https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer Temp Works
01234ecb8e1c34d25ad63ece3840f01234 Feature Service https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer Temp Works
01234ecb8e1c34d25ad63ece3840f01234 Feature Service https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer Temp Works
In your example it fails at the JSONFragmenter on the _respond_body.
If it is called _respond_body or respond_body, it fails??
Thanks,
Clive
Hi @Clive Swan
In my example workspace, I am using exactly the same configuration as your self i.e. ArcGIS Portal and to access Feature Service, I need a Portal Web connection.
In ArcGISOnlineConnecter, I am using an ArcGIS Portal web connection as well and it is going through my User owned items (see the article How to create a Portal Web Connection)
In HttpCaller, under Authentication, I selected the web connection for my portal see below
If you want to continue using your existing workflow, Please set the attribute holding URL (https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer)
to be set to "Request URL" and authentication to an Oauth web service.
Hi @Clive Swan
In my example workspace, I am using exactly the same configuration as your self i.e. ArcGIS Portal and to access Feature Service, I need a Portal Web connection.
In ArcGISOnlineConnecter, I am using an ArcGIS Portal web connection as well and it is going through my User owned items (see the article How to create a Portal Web Connection)
In HttpCaller, under Authentication, I selected the web connection for my portal see below
If you want to continue using your existing workflow, Please set the attribute holding URL (https://mycomp.com/server/rest/services/Hosted/Temporary_Works/FeatureServer)
to be set to "Request URL" and authentication to an Oauth web service.
Hi,
I have approx 300 Features, I don't want to create 300 workbenches.
I cannot get the list transformer to loop through all the Layers in each Feature.
The List aggregator returns the number of Layers in each Feature, but not the Name or Service URl.
I want to return the Feature name eg Temp Works (5x), then return each layer name eg Temp roads, Temp access, Temp parking...
Thanks,
Clive
Can you elaborate on what are you trying to achieve as an end product?
It would help me provide the best answer based on that.
Are you trying to get list of Layers, with Name, ID, and URL, to output to a CSV file?
Or you want to read these layers?
FYI -- The URL for layers are not specified in the REST, although you can construct it and also once you have done that you can query as well see ArcGIS REST API doc
I have edited the original workspace to simplify it and create a CSV file with FeatureServiceName, which will contain FeatureServiceName, FeatureServiceURL, LayerName, LayerID, LayerURL See attached workspace
NOTE: There is no need to create workbenches per feature, if you see in my case, there are about 16 FeatureServices on my ArcGIS Portal that have Layers, and using ArcGISOnlineConnector and HttpCaller, I was able to get the list of FeatureService and create LayerURL and save it to a 12 csv files.