Ich führe eine GP-Aufgabe über die Leaflet-Esri API aus, die Polygon-Geometrien zurückgibt. Diese Geometrien verbinde ich dann mit den Standard ArcGIS Server Geometry Utilities durch einen L.esri.request-Prozess, und das Ergebnis der Vereinigung muss dann in einem finalen Leaflet GP-Aufgabenprozess verwendet werden, der asynchron ist und CORS verwendet, um eine POST-Anfrage zu erzwingen. Das Problem ist, dass der finale GP Task-Aufruf das Aufgaben-Ergebnis (eine URL-Zeichenkette zu einer JSON-Datei) nicht "erkennt", obwohl ich sehe, dass es in den Browser-XHR-Anfragen zurückgegeben wird und das Ergebnis im ArcGIS Server GP-Jobs-Ordner liegt. Das einzige Problem, das ich festgestellt habe, ist, dass nach der Union-Aufgabe die Callback-ID für die letzte GP-Aufgabe nicht erneut inkrementiert wird, und ich vermute, dass die Leaflet API versucht, einige der vorherigen GP-Aufgaben-Ergebnisse abzurufen. Gibt es eine Möglichkeit, die Callback-ID für die GP-Aufgabenergebnisse "zurückzusetzen", um sicherzustellen, dass die API versucht, die korrekten GP-Aufgabenergebnisse abzurufen.<\/P>
<\/P>
Hier ist der Code für den finalen GP Task-Aufruf:<\/P>
var gpServiceTest = L.esri.GP.service({
url: myGPserviceURL,
path: "submitJob",
async:true,
asyncInterval:5,
useCors:true
});
var gpTaskTest = gpServiceTest.createTask();
gpTaskTest.setParam("Input_Polygon_String", rings);
gpTaskTest.setOutputParam('JSON_Features');
gpTaskTest.run(function(error, response, raw) {
loadjson(response.JSON_Features.url);
});<\/CODE><\/PRE>
<\/P>
Ich habe festgestellt, dass wenn ich die Polygon-Ergebnisse von der Union-Aufgabe nehme und die finale GP-Aufgabe als isolierte Funktion damit ausführe, bevor irgendeine der anderen initialen GP-Aufgaben ausgeführt wird, keine Callback-Funktions-ID zur Anforderung der Aufgaben-Ergebnisse hinzugefügt wird. Wenn ich jedoch die finale GP-Aufgabe nach der initialen GP-Aufgabe und Union ausführe, wird eine Callback-Funktions-ID hinzugefügt, ähnlich wie bei einer vorherigen Anfrage zur Rückruffunktion eines GP-Aufgabenergebnisses, und genau dann geben die Antworten der finalen GP-Aufgabenergebnisse einen Fehler zurück.<\/P>