Spouštím GP úkol přes Leaflet-Esri API, který vrací polygonální geometrie. Tyto geometrie pak sjednocuji pomocí standardních ArcGIS Server Geometry utilit přes proces L.esri.request a výsledek sjednocení musí být použit v závěrečném procesu Leaflet GP úkolu, který je asynchronní a používá CORS k vynucení POST požadavku. Problém je, že závěrečný volání GP úkolu "nezachytí" výsledek úkolu (řetězec URL na JSON soubor), i když vidím, že je vrácen v XHR požadavcích prohlížeče a výsledek je ve složce GP úloh ArcGIS Serveru. Jediný problém, který jsem zaznamenal, je, že po Union úkolu se callback ID pro poslední GP úkol již nezvyšuje a podezřívám, že Leaflet API se snaží získat některé výsledky předchozích GP úkolů. Existuje způsob, jak "resetovat" callback ID pro výsledky GP úkolu, aby bylo zajištěno, že API se snaží získat správné výsledky GP úkolu.<\/P>
<\/P>
Zde je kód pro závěrečné volání GP úkolu:<\/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>
Zjistil jsem, že když vezmu polygonální výsledky z Union úkolu a spustím závěrečný GP úkol jako izolovanou funkci s nimi před jakýmikoli jinými počátečními GP úkoly, není do požadavku na výsledky úkolu přidáno žádné callback funkce ID. Nicméně pokud spustím závěrečný GP úkol po počátečním GP úkolu a Union, do požadavku na výsledek je přidáno callback funkce ID podobné callback ID předchozího požadavku na výsledek GP úkolu a právě tehdy odpověď ze závěrečného výsledku GP úkolu dává chybu.<\/P>