Le programme d'installation:
J'utilise le javascript API v. 2.8 from ESRI, qui utilise lui-même le 1.6 boîte à outils dojo c.. J'ai le ArcGIS Server v. 10.1 fonctionnant sur Windows dans l'EC2 d'Amazon.javascript esri impression asynchrone
Je peux exécuter avec succès une PrintTask avec javascript qui POSS JSON sur mon serveur, qui exécute un processus et retourne un PDF au navigateur client. Mais cette demande est synchrone et peut prendre une minute ou deux, causant Heroku à l'expiration du délai avec une erreur H12.
Le problème:
Quand je bascule la [] Asynchronous case à cocher ON sur le serveur ArcGIS, mon PrintTask retourne:
{"error":{"code":500,"message":"Error performing execute operation","details":[]}}
Je ne sais pas où aller d'ici. Quelqu'un a-t-il des exemples ou une expérience d'exécution d'une tâche d'impression asynchrone sur un serveur ArcGIS?
Le javascript pour printTask est ci-dessous. Existe-t-il un moyen de réécrire ce javascript pour qu'il soit plus asynchrone, ou "non-bloquant"?
Le code
(dépouillée par souci de concision)
dojo.require("esri.tasks.PrintTask");
function Print() {
var printTool = this;
this.executePrint = function(){
var params = new esri.tasks.PrintParameters();
params.map = map;
params.template = selectedTemplate;
printTask = new esri.tasks.PrintTask(printUrl, {async: true});
printTask.execute(params, printTool.printComplete, printTool.printError);
};
this.printComplete = function(result){
dojo.place("<div><a href='" + result.url + "'></a></div>", printForm, "last");
};
this.printError = function(err){
dojo.byId("printJob").innerHTML = err;
};
}
Mise à niveau de Javascript version API de Esri 2,8 à 3,2 résolu le problème. Il semble que le paramètre {async: true} n'a pas fait de différence sur 2.8, mais sur 3.2. – ballPointPenguin