J'applique des services mobiles pour mon application Android afin de me connecter à azure. J'ai exécuté le didacticiel de synchronisation hors connexion et cela fonctionne correctement.MobileServicePushFailedException Azure Android
J'ai maintenant essayé d'implémenter la même méthode dans mon application avec une table différente et j'obtiens une exception de poussée. Chose amusante, c'est qu'il est toujours inséré dans la base de données en ligne. Quelqu'un at-il une idée de pourquoi cela se passe?
En tant que test, j'ai implémenté la même classe, les mêmes tables, etc. dans le projet ToDoItem sans erreur.
Exception ci-dessous
W/System.err: java.util.concurrent.ExecutionException: com.microsoft.windowsazure.mobileservices.table.sync.push.MobileServicePushFailedException
W/System.err: at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
W/System.err: at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
W/System.err: at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
W/System.err: at com.heathrow.ecms.DatabaseAccess$3.doInBackground(DatabaseAccess.java:2178)
W/System.err: at com.heathrow.ecms.DatabaseAccess$3.doInBackground(DatabaseAccess.java:2173)
W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:292)
W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/System.err: at java.lang.Thread.run(Thread.java:818)
W/System.err: Caused by: com.microsoft.windowsazure.mobileservices.table.sync.push.MobileServicePushFailedException
W/System.err: at com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncContext.pushOperations(MobileServiceSyncContext.java:959)
W/System.err: at com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncContext.consumePushSR(MobileServiceSyncContext.java:859)
W/System.err: at com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncContext.access$1100(MobileServiceSyncContext.java:83)
W/System.err: at com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncContext$PushSyncRequestConsumer.run(MobileServiceSyncContext.java:1120)
code pour la synchronisation est exactement le même que dans le tutoriel, mais avec une autre table, l'erreur est sur la ligne de poussée.
private AsyncTask<Void, Void, Void> sync() {
AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... params) {
try {
MobileServiceSyncContext syncContext = mClient.getSyncContext();
syncContext.push().get();
mtblAttachment.pull(null).get();
} catch (final Exception e) {
e.printStackTrace();
}
return null;
}
};
return runAsyncTask(task);
}
De quel tutoriel parlez-vous? Et utilisez-vous la version 24 ou 25 de l'API? – Mike
@Mike Désolé ce tutoriel [ici] (https://docs.microsoft.com/fr-fr/azure/app-service-mobile/app-service-mobile-android-get-started-offline-data) I ' m en utilisant API 23. – SliderUK
Désolé, je ne connais pas la réponse spécifique, mais il y a un post ici http://stackoverflow.com/questions/35019417/azure-mobileservicepushfailedexception-on-android - peut-être un problème d'authentification? – Mike