Discussion text
Dear Esri Community,
I would like to report and discuss a reproducible issue encountered in ArcGIS Enterprise 10.9.1 / ArcGIS Experience Builder concerning the display of legend information for a Map Service sublayer.
The application uses a Web Map containing a Map Service with a point sublayer named “Rete di monitoraggio Wise (2022-2025)”. The layer uses a standard Unique Value Renderer based on the field “tipo”.
The geographic features and their symbology are rendered correctly in Experience Builder. However, when the Web Map is used as the source of the Map widget, both the Legend widget and the legend available through the Map Layers widget display “No legend”.
The same Web Map and Map Service display the expected legend correctly in both Map Viewer Classic and Map Viewer. The MapServer /legend REST resource also returns the expected legend information.
The relevant point sublayer uses a standard Unique Value Renderer on the field “tipo”, containing the following four classes:
- groundWaterBody
- lakeWaterBody
- riverWaterBody
- transitionalWaterBody
The symbols are standard simple marker symbols. No unusual renderer, 3D symbol, restrictive minimum/maximum scale, or other special symbology is involved.
Figure 1 - The same layer and renderer display the legend correctly in Map Viewer Classic.
Direct sublayer test
To isolate the problem, I created a separate test Web Map named “TEST_LEGENDA_EXB”. I then added the same point sublayer directly using its REST endpoint rather than consuming it through the complete Map Service:
.../arcgis/rest/services/Mappa_Rete_2022_2025/MapServer/0 |
|---|
With this configuration, the legend is displayed correctly in ArcGIS Experience Builder 10.9.1, including all four unique-value classes.
Figure 2 - Experience Builder 10.9.1 correctly displays the legend when the same sublayer is added directly through its /MapServer/0 endpoint.
This test appears particularly significant because the underlying data, renderer and symbols are unchanged. The relevant difference is the way in which the layer is consumed by the Web Map and Experience Builder.
Configuration | Legend in Experience Builder 10.9.1 |
|---|
Map Service -> sublayer | NO - “No legend” |
Direct /MapServer/0 sublayer | YES - legend displayed correctly |
Service and REST verification
The Map Service and the relevant sublayer were also checked through the ArcGIS REST Services Directory. The following points were verified:
- the relevant sublayer is exposed as a point Feature Layer;
- it is visible by default;
- no restrictive minimum or maximum scale is configured;
- it uses a standard Unique Value Renderer;
- the renderer is based on the field “tipo”;
- standard simple marker symbols are used;
- the MapServer /legend resource returns the expected legend entries.
These checks indicate that the service itself provides valid renderer and legend information.
Related tables and selection behavior
The production application has additional requirements that prevent the direct-sublayer configuration from being adopted without further consequences.
The monitoring layer is related to several tables, and the Experience relies on Record Selection Changes -> Select Data Records actions to propagate map selections to those data sources. In the production Experience, this mechanism operates correctly: selecting a monitoring point produces a valid map selection and the configured actions propagate the selected record to the corresponding tables.
Figure 3 - Production Experience using the original Web Map: map selection works correctly (Selected features: 1).
As an additional verification, one related table was tested directly: “PuntiMonitoraggio_pub_RW_finale_Add2023” (MapServer/9). In Map Viewer Classic, related records could be retrieved correctly from the directly added /MapServer/0 layer. The /MapServer/9 table could also be added directly to Experience Builder through Data > Add data > URL and was successfully used as a data source by a Table widget.
However, in the dedicated TEST_LEGENDA_EXB Web Map, the Map Select tool did not reproduce the selection behavior of the production Web Map. This was tested both with the directly added /MapServer/0 layer and after re-adding the complete Map Service to the test Web Map.
A further control test was therefore performed. Without changing the test Experience or the Map widget itself, the Map widget source was switched from TEST_LEGENDA_EXB back to the original production Web Map. Map selection immediately worked correctly again.
This indicates that the selection issue observed during the direct-sublayer experiment is related to the different data-source/Web Map configuration used for the test; it is not a general failure of the Select tool. For this reason, replacing the original production Map Service structure with directly added sublayers solely to restore the legend would not be considered a sufficiently safe workaround, as it could introduce regressions in the application's existing selection and related-table workflows.
Summary of test results
Test | Result |
|---|
Map Viewer Classic - original Web Map / Map Service | Legend works |
Map Viewer - original Web Map / Map Service | Legend works |
MapServer /legend REST resource | Valid legend information |
Experience Builder 10.9.1 - original Web Map / Map Service | Map, selection and related-table workflow work; legend shows “No legend” |
Experience Builder 10.9.1 - direct /MapServer/0 | Legend works; original production selection behavior not reproduced in test configuration |
Original production Web Map restored in the same test Map widget | Selection works again |
ArcGIS Enterprise 11.5 environment | Same application architecture works correctly |
Version comparison
An additional test is relevant to the diagnosis. The same application architecture has been tested in our ArcGIS Enterprise 11.5 environment, where the legend is handled correctly.
The problem therefore appears to be specific to, or at least reproducible in, the ArcGIS Enterprise / Experience Builder 10.9.1 environment.
Based on the tests described above, the issue appears to concern the way Experience Builder 10.9.1 interprets or exposes legend information when the relevant layer is consumed as a sublayer of a Map Service / Map Image Layer.
I am deliberately not associating this behavior with a specific Esri BUG ID, because I have not identified a published issue that can be confirmed as an exact match for this 10.9.1 case.
Questions for Esri / the Community
I would appreciate any confirmation or additional information concerning the following points:
- Is this a known limitation or defect in ArcGIS Experience Builder 10.9.1 when legend information is obtained from Map Service / Map Image Layer sublayers?
- Is there a supported workaround for Enterprise 10.9.1 that preserves the original Map Service structure, related tables, and record-selection behavior?
- Was this specific behavior addressed or corrected in a later ArcGIS Enterprise / Experience Builder release?
I have documented the complete sequence of tests and can provide additional REST information, screenshots, and the detailed test matrix if required.
Thank you in advance for any information or guidance.