Estou executando uma tarefa GP através da API Leaflet-Esri que retorna geometrias de polígono. Em seguida, uno essas geometrias com as utilidades padrão de Geometria do ArcGIS Server por meio de um processo L.esri.request e o resultado da união deve ser usado em um processo final de tarefa GP do Leaflet, que é assíncrono e usa CORS para forçar uma requisição POST. O problema é que a chamada final da tarefa GP não "detecta" o resultado da tarefa (uma string URL para um arquivo JSON), mesmo que eu possa vê-lo sendo retornado nas requisições XHR do navegador e o resultado esteja na pasta de jobs GP do ArcGIS Server. A única questão que percebi é que após a tarefa Union, o ID de callback para a última tarefa GP não incrementa novamente e suspeito que a API Leaflet está tentando buscar alguns dos resultados das tarefas GP anteriores. Existe uma maneira de "resetar" o ID de callback para os resultados da tarefa GP para garantir que a API esteja tentando buscar os resultados corretos da tarefa GP.<\/P>
<\/P>
Aqui está o código para a chamada final da tarefa GP:<\/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>
Descobri que quando pego os resultados do polígono da tarefa Union e executo a tarefa GP final como uma função isolada com ele antes de qualquer uma das outras tarefas GP iniciais, não há um ID de função callback adicionado à requisição dos resultados da tarefa. No entanto, se eu executar a tarefa GP final após a tarefa GP inicial e Union, um ID de função callback, semelhante ao ID de callback da requisição dos resultados de uma tarefa GP anterior, é adicionado à requisição do resultado e é quando a resposta dos resultados da tarefa GP final apresenta um erro.<\/P>