How can I open my feature services in order to 'Update Definition' on a feature layer?

5111
7
Jump to solution
02-26-2015 11:58 PM
JohanLundgren
Occasional Contributor

I'm logged on as admin on our local ArcGIS server, here: http:<servername>:<port>/arcgis/admin/services

 

But I only see service on MapServer and no FeatureServer.

I need to find my services on FeatureServer in order to 'Update Definition' as described in this article: Update Definition (Feature Layer)

0 Kudos
1 Solution

Accepted Solutions
BedaKuster1
New Contributor

Yeah I see your problem. But keep in mind that ArcGIS Online Feature Layers (which provides UpdateDefinition, described in your link) are different to ArcGIS Server FeatureServices. And the whole ArcGIS Online admin API is also used from its website, so it needs all functions to update/create the definition.

Maybe i'm wrong but i think the only way to change a layer in a service on your local ArcGIS Server is using the publishing function of ArcMap (which uses a publishing-tool (GPServer)).

What you could do is to rename your FeatureService (in your case ExternalTestBeta_App9_LKP...) (but not the layers in this service) over AGS Admin API with the mentioned edit-url.

Hope this helped a bit.

View solution in original post

7 Replies
JohanLundgren
Occasional Contributor

I found the answer why I only see MapServer:

When you look at your GIS server as an administrator, you'll only see one service, a map service with the Feature Access capability enabled. However when you look at the GIS server as a consumer of the service, for example when you are developing a web app with the service, you will see two ways that you can access the service.

So, I know I'm in the right place and I should now see the 'Update Defintion', option according to above documentation, but it's not there for me.

I need to find 'Update Definition' it in order to modify the name on one of the layers.

This is what I have at the bottom of the page:

Untitled.jpg

0 Kudos
AndySmith
Esri Contributor

Hi Johan,

Have you selected the Feature Access capability when publishing your service? The following should be helpful:

What is a feature service?—Documentation | ArcGIS for Server

Publishing feature services—Documentation | ArcGIS for Server

Note: You will need to set up an enterprise geodatabase or database using a supported platform such as SQL Server, PostgreSQL, Oracle, Informix, or DB2

0 Kudos
JohanLundgren
Occasional Contributor

Hi Andy,

Yes, it's definetly published as a feature service. I only work with feature services since we need to send data from our map application to the geodatabase.

Yes, the geodatabase is on a SQL server on a machine within our local network.

But, still I can't figure out how to find the 'Update Defintion' option, so that I can change name on one of my layers.

0 Kudos
JohanLundgren
Occasional Contributor

I will explain my problem in a scenario, like this:

  1. I open my feature service from the consumer side and it works fine: http://myserver:6080/arcgis/rest/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureServer
  2. Now I try to add admin between rest and service, like this: http://lkppde1065:6080/arcgis/rest/admin/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/Featur...
  3. It opens a page called ArcGIS REST Admin with error code:400 and with text information about 'Clearing Cache' ...but this is not what I want. I need page for the feature service as admin. There is also a link called ArcGIS Server Administrator Directory, so I click on that and it opens a page where I enter the admin credentials.
  4. Now I open the page: http://myserver:6080/arcgis/admin/services

It shows all services as MapServer and that is what initailly confused me. But I'm fine with that now.

...and here is where I am now, trying to find the option 'Update Definition', so that I can change name on one of my layers.

According to above article about the 'Update Definition' option, this is the way to open it:

http://<adminservicecatalog-url>/services/<serviceName>/FeatureServer/<layerId>/updateDefinition

So, in my example the address should be: http://myserver:6080/arcgis/admin/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureServer...

But this opens a page like this:

Untitled.jpg

I also tried with adding 'rest' between admin and services, but it faails too: http://myserver:6080/arcgis/admin/rest/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureS...

The only way for me to open the service and its layer is as a consumer, like this: http://myserver:6080/arcgis/rest/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureServer/...

...and that doesn't work for me, since I need to open it as a admin in order to get access to the 'Update Definition' option.

0 Kudos
BedaKuster
New Contributor

Please note that your posted link references to Administering ArcGIS Online hosted services and not Administering ArcGIS Server.

Probably you need following endpoint

http://server:port/arcgis/admin/services/[<folder>]/<serviceName.serviceType>/edit

ArcGIS REST API

0 Kudos
JohanLundgren
Occasional Contributor

Sorry, but it still doesn't open 'Update Definition' and where I want to modify the layer name. I applied your syntax on my URLs, like this:

Your suggested syntax: http://server:port/arcgis/admin/services/[<folder>]/<serviceName.serviceType>/edit

Applied your syntax on my URL: http://myserver:6080/arcgis/admin/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureServer...
It gives the following information: Could not find resource or operation 'ExternalTestBeta_APP9_LKP_AllRequiredLayers' on the system.

I also tried with 'rest', like this: http://myserver:6080/arcgis/rest/admin/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureS...
This takes my to the ArcGIS REST Admin page, same as I describe above.

The link to consumer side works fine:
http://myserver:6080/arcgis/rest/services/ExternalTestBeta_APP9_LKP_AllRequiredLayers/FeatureServer

So, it didn't solve my problem where I want to modify a layer name on a feature server by using 'Update Definition'.

But thanks anyway for trying to help me!

0 Kudos
BedaKuster1
New Contributor

Yeah I see your problem. But keep in mind that ArcGIS Online Feature Layers (which provides UpdateDefinition, described in your link) are different to ArcGIS Server FeatureServices. And the whole ArcGIS Online admin API is also used from its website, so it needs all functions to update/create the definition.

Maybe i'm wrong but i think the only way to change a layer in a service on your local ArcGIS Server is using the publishing function of ArcMap (which uses a publishing-tool (GPServer)).

What you could do is to rename your FeatureService (in your case ExternalTestBeta_App9_LKP...) (but not the layers in this service) over AGS Admin API with the mentioned edit-url.

Hope this helped a bit.