Select to view content in your preferred language

Prototype is missing in map service template

1707
8
05-04-2022 06:49 AM
YMSSK
by
Emerging Contributor

Hello, I have problem with publishing of map service with enabled feature access capability from ArcGIS Pro to ArcGIS Server 10.9.1.  I have deleted and recreated feature template of vector layer in ArcGIS Pro. After overwriting of map service, information about Prototype from Templates in ArcGIS rest have disappeared (see attached image). 

Thank you in advance.

0 Kudos
8 Replies
TanuHoque
Esri Regular Contributor

@YMSSK 

can you pls share exact reproducible steps and possibly data? I can take a look at this.

I understand you shouldn't see anything removed just because you overwrote a service. That said, since we don't use map service for any editing, I was wondering how it is impacting your workflow.

I'd appreciate if you could explain it for me. Thanks a lot

Tanu

0 Kudos
YMSSK
by
Emerging Contributor

Hello, thank you for your response. We are using this map service for editing. This is the reason why we have problem. It is independent on source data, so you can simulate it very simply. Open vector layer with some attributes in ArcGIS Pro and publish map service to ArcGIS Server 10.9.1 with enabled feature access capability. We also tried to simulate it using older version of arcgis server (10.8.1). The problem does not occur there.

We found workaround for Arcgis Server 10.9.1. When default values for attributes are set in ArcGIS Pro, information about prototype shows up in Templates of ArcGIS rest. 

 

0 Kudos
TanuHoque
Esri Regular Contributor

@YMSSK 

Thanks for clarifying it. One more follow up question. When you checked for the Prototype elements, did you check in the /FeatureServer/<layer-id> end point or in /MapServer/<layer-id> end point. I assume it is the former not the latter, right?

0 Kudos
YMSSK
by
Emerging Contributor

We checked it in /FeatureServer/<layer-id>.

TanuHoque
Esri Regular Contributor

Thanks @YMSSK 

I checked with the feature service team. They confirmed this is a known issue, and this is something they are looking at for a release after 11.0.

For now, they recommended the same workaround that you found. Thanks for reporting this to us. 

0 Kudos
NicholasVoss
Emerging Contributor

I think we've run into this or a very similar issue.  I'm not sure I understand the workaround?

We have an editing template in ArcGIS Pro configured with default values.  After an overwrite of the service the default values and template information no longer exist (/FeatureServer/<layer-id>).  Webmaps and Field Maps configured from that service no longer recognize default values.

ArcGIS Pro 2.9.3 --> ArcGIS Server 10.9.1 Federated with Portal.  Data resides in an Enterprise geodatabase.

We also found reference to a this bug described in another post:  BUG-000144318 - When you publish a layer from ArcGIS Pro to ArcGIS Online that has default values set on at least one field and there are existing features the default values will not show up in ArcGIS Field Maps web app Smart Form Templates.

0 Kudos
NicholasVoss
Emerging Contributor

The workaround that may be mentioned above is as follows, and seems to work in our environment.

Within ArcGIS Pro, remove default values assigned to the feature class at the geodatabase level.  Right click on feature class --> Attribute Table --> Fields View.  Assign/keep domains, but set defaults blank.  Next, go to Manage Templates and set default values within the template(s).

 

0 Kudos
DavidTreering1
Occasional Contributor

I resolved this issue by accessing the templates prototype from the templates property of the types, not directly from the templates.

I had a service using a single symbol classification, which has the prototype as an attribute of the templates.  When I changed the service to unique symbols classification, it broke because the layer does not have the same properties.  Look at the json in the service directory to see the difference.

 this.newRecord = this.FeatureLayer.types[0].templates[0].prototype.toJson());

0 Kudos