Topic: Error "INVALID SERVICE" cada tanto
De vez en cuando cuando deseo recuperar los kilómetros de un vehículo recibo el mensaje INVALID SERVICE. Debo actualizar la página (F5) un par de veces hasta que "enlaza" y me recupera los valores.
Es un desarrollo en HTML y Javascript.
Ejecuto el inicio de sesión desde $(document).ready
$(document).ready(function () {
var sess = wialon.core.Session.getInstance();
var user = sess.getCurrUser();
if( user ) { // Check state
//console.log("Already logged as '" + user.getName()+"'");
} else {
sess.initSession("https://hst-api.wialon.com"); // initialize Wialon session
sess.login("xxxx-user-xxxxxx", "xxx-pass-xxx", "",
function (code) {
if (code) {
alert(wialon.core.Errors.getErrorText(code)); return;
}
});
}
});
Luego, en el BODY ON LOAD ejecuto esta función, sabiendo que los nombres de las unidades son los nros de matriculas...:
function CargarKilometrosActuales(nro_matricula) {
var sess = wialon.core.Session.getInstance(); // get instance of current Session
// flags to specify what kind of data should be returned
var flags = wialon.item.Item.dataFlag.base | wialon.item.Unit.dataFlag.counters ;
sess.updateDataFlags( // load items to current session
[{type: "type", data: "avl_unit", flags: flags, mode: 0}], // Items specification
function (code) { // updateDataFlags callback
if (code) { alert(' ERROR:'+wialon.core.Errors.getErrorText(code)+' ... .'); return; }
// get loaded 'avl_unit's items
var units = sess.getItems("avl_unit");
if (!units || !units.length){ alert("No se encontraron vehículos"); return; } /
var done = false;
for (var i = 0; i< units.length; i++){ // construct Select object using found units
var u = units[i]; // current unit in cycle
if ( u.getName()==nro_matricula ) {
done = true;
var unit = wialon.core.Session.getInstance().getItem(u.getId());
if(!unit){ alert('Unidad no existe: ' + unidad);return; }
var xkmtsReturn = unit.getMileageCounter();
document.getElementById("kmtsll").value = xkmtsReturn ;
return ;
}
}
if (!done) {alert('No existe el vehículo: ' + nro_matricula + ' en el sistema GPS'); return;}
}
);
}
Este procedimiento funciona pero cada tanto la línea
if (code) { alert(' ERROR:'+wialon.core.Errors.getErrorText(code)+' ... .'); return; }
me muestra el error arrojado: INVALID SERVICE.
Cuando el error ocurre. Debo actualizar la página (presionando F5 por ejemplo) y ahí SI recupera los datos. A veces hay que actualizar 2 ó 3 veces hasta que recupere.
¿Alguien me puede explicar porqué cada tanto arroja el error?
Desde ya muchas gracias.