Skip to main content

Greetings,

 

I have a workbench that reads Portal and returns all item-types, that is filtered to MapServer and FeatureServer.

 

Each Feature may have one or five layers. I can return all the Features, but not the layers associated/under the Feature.

 

I have not seen any articles or post that show how to do this. Could anyone post any suggestions?? Appreciate any pointers.

 

Thanks,

Clive

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

HttpCaller_GetLayerIf 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

HttpCaller_GetLayerIf 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 GetLayer_FinalSee 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.


Reply