<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Error {code: 500, message: &amp;quot;Unable to generate legends: - breaking Nianwei Liu's in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732014#M67842</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;"Unable to generate legends: zzzzz?Unable to connect to Host: zzzzz Port: -1?Please verify the Service URL specified is correct :- http://zzzzz/arcgis/services/LIVEinternal/aerials/MapServer?"&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Looks like the error is on REST API side. You might have some data source with inconsistent connection such as timeout easily etc. When server is trying to create legend it may run into a broken link and error out initially. Checking server log via ArcGIS manager may provide some clue. You can also write a small app that make a legend request at given interval and record the results to see if there is a pattern of failing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can also replace the TOC with esri.dijit.Legend and see if you got error too.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 11 Sep 2013 10:59:43 GMT</pubDate>
    <dc:creator>NianweiLiu</dc:creator>
    <dc:date>2013-09-11T10:59:43Z</dc:date>
    <item>
      <title>Error {code: 500, message: &amp;quot;Unable to generate legends: - breaking Nianwei Liu's TOC</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732013#M67841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN style="color:#333333;"&gt;Hi &lt;BR /&gt;&lt;BR /&gt;I am using Nianwei Liu's TOC - however sometimes the expand tree graphic isn't appearing.&lt;BR /&gt;&lt;BR /&gt;I have several dynamic map services and add them all into the TOC.&amp;nbsp; Mostly this is fine.&lt;BR /&gt;&lt;BR /&gt;However when it fails I get &lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;PRE class="plain" name="code"&gt;"Unable to generate legends: zzzzz?Unable to connect to Host: zzzzz Port: -1?Please verify the Service URL specified is correct :- http://zzzzz/arcgis/services/LIVEinternal/aerials/MapServer?"&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;SPAN style="color:#333333;"&gt;&lt;BR /&gt;&lt;BR /&gt;This happens about 20% of startups.&amp;nbsp; The Dynamic Service is there and at other times it is fine.&lt;BR /&gt;&lt;BR /&gt;I can see why it breaks the TOC, as without any legends it can't build up the child nodes in functon &lt;/SPAN&gt;&lt;SPAN&gt;_createRootLayerNode as there is a IF statement that relies on a renderer being present.&lt;/SPAN&gt;&lt;SPAN style="color:#333333;"&gt;&lt;BR /&gt;&lt;BR /&gt;Cheers&lt;BR /&gt;&lt;BR /&gt;ACM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 10:06:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732013#M67841</guid>
      <dc:creator>AdrianMarsden</dc:creator>
      <dc:date>2013-09-11T10:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: Error {code: 500, message: "Unable to generate legends: - breaking Nianwei Liu's</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732014#M67842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;"Unable to generate legends: zzzzz?Unable to connect to Host: zzzzz Port: -1?Please verify the Service URL specified is correct :- http://zzzzz/arcgis/services/LIVEinternal/aerials/MapServer?"&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Looks like the error is on REST API side. You might have some data source with inconsistent connection such as timeout easily etc. When server is trying to create legend it may run into a broken link and error out initially. Checking server log via ArcGIS manager may provide some clue. You can also write a small app that make a legend request at given interval and record the results to see if there is a pattern of failing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can also replace the TOC with esri.dijit.Legend and see if you got error too.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 10:59:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732014#M67842</guid>
      <dc:creator>NianweiLiu</dc:creator>
      <dc:date>2013-09-11T10:59:43Z</dc:date>
    </item>
    <item>
      <title>Re: Error {code: 500, message: "Unable to generate legends: - breaking Nianwei Liu's</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732015#M67843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One thing I was about to post anyway, the dynamic services it fails on contain ONLY raster images.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I was also about to dig into the server logs too.&amp;nbsp;&amp;nbsp; I'll post back if I find anything&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ACM&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Edit - in fact one of the services isn't all raster - so please ignore.&amp;nbsp; However the one service that is all NON-raster never fails this way.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 11:02:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732015#M67843</guid>
      <dc:creator>AdrianMarsden</dc:creator>
      <dc:date>2013-09-11T11:02:27Z</dc:date>
    </item>
    <item>
      <title>Re: Error {code: 500, message: "Unable to generate legends: - breaking Nianwei Liu's</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732016#M67844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;OK - nothing in the logs and straight requests for legend work every time, so time for a classic hack/bodge (sorry)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the TOC.js I've changed the error routine of _getLegendInfo to call itself again&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
error: dojo.hitch(this, this._getLegendInfo)
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;WRONG&amp;nbsp; on &lt;/SPAN&gt;&lt;SPAN style="text-decoration:underline;"&gt;&lt;STRONG&gt;SO &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;many levels I know, but as I have a captive user base with known map services&amp;nbsp; AND this issue happens less than 1 in 5 requests&amp;nbsp; then it seems to work without adding much overhead at all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If it breaks later, I'll simply cry and curl up in a corner somewhere.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ACM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:14:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732016#M67844</guid>
      <dc:creator>AdrianMarsden</dc:creator>
      <dc:date>2021-12-12T07:14:50Z</dc:date>
    </item>
    <item>
      <title>Re: Error {code: 500, message: "Unable to generate legends: - breaking Nianwei Liu's</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732017#M67845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is that the layer is not loaded before the TOC widget is loaded and therefore the TOC.js is hitting the ArcGIS legend service everytime because this.rootLayer.version is not yet populated. This widget will not work with internal only services not accessible to ArcGIS legend service. The proper solution is to check to see if the root layer is loaded before building the legend, if it is not loaded, then add and on("load") to the layer and call the _getLegendInfo. Here's the new code at around line 620 of TOC.js.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // extenstion point called by framework
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; postCreate: function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((this.rootLayer instanceof (ArcGISDynamicMapServiceLayer) ||
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.rootLayer instanceof (ArcGISTiledMapServiceLayer))) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //check if the layer is loaded yet, if not, add a listener to wait
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.rootLayer.loaded) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this._legendResponse) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._createRootLayerTOC();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._getLegendInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {//layer not yet loaded, add listener
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.rootLayer.on("load", lang.hitch(this, this._getLegendInfo));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else { //not servicelayer
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._createRootLayerTOC();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:14:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/error-code-500-message-amp-quot-unable-to-generate/m-p/732017#M67845</guid>
      <dc:creator>DerekNalder</dc:creator>
      <dc:date>2021-12-12T07:14:53Z</dc:date>
    </item>
  </channel>
</rss>

