¿Cómo puedo obtener Robospice para tratar cualquier cosa que no sea una respuesta 200 de Retrofit & OKHttp como un error

Estoy usando Robospice en android con Retrofit y OKHttp. Todos los trabajos grandes con las respuestas pasaron de nuevo a la actividad usando Robospice RequestListener. El problema es que sólo devuelve un error si la conexión se agota o se produce otro problema de red. Si un 401 es devuelto entonces se clasifica como un éxito, pero con una respuesta nula, ya que no podía analizar el JSON en nuestro POJO MobileAppSetup.

Por el momento estoy teniendo que hacer la comprobación nula en la respuesta pero no tengo ninguna idea qué la razón era si era un error del servidor o un 401 válido.

public final class HTTPRequestListener implements RequestListener<MobileAppSetup> { @Override public void onRequestFailure(SpiceException spiceException) { Log.d("", "failure:"+ spiceException); loginProgress.hide(); } @Override public void onRequestSuccess(final MobileAppSetup response) { Log.d("","success. Data: "+response); if(response==null) showDialog("Error logging in", "Please check your username and password and try again.", ""); loginProgress.hide(); postLoginProcess(response); } } 

Necesito pasar estos errores a la devolución de llamada de onRequestFailure así que puedo manejarla correctamente. ¿Hay una manera de especificar los códigos de error que Robospice debe tratar como un error. Creo que implica agregar algún tipo de controlador de errores personalizado pero realmente no puede encontrar una solución en este momento.

Esto debido al error en el error OKHTTP cliente posible !

El problema es Cuando el servidor responde con un 401 Respuestas no autorizadas, el objeto Callback llama a su método failure ().

Cuando el servidor devuelve con el estado 401, el objeto de respuesta RetrofitError es nulo y el flag networkError se establece en true, haciendo imposible que la aplicación compruebe error.getResponse().getStatus() Creo que el error se encuentra en el http cliente. Cuando uso OkClient consigo este error: java.io.IOException: Ningunos desafíos de la autentificación encontrados

Te sugiero que descargue nuevo archivo okhttp jar desde la plaza / okhttp ejecutar el proyecto de nuevo! O intentar con cualquier otro cliente en lugar de okhttp.

  • RoboSpice y ORMLite - Acceso a los datos
  • Borrar datos antiguos de caché con robospice ormlite
  • RoboSpice y Jsoup
  • ¿Es realmente necesario RoboSpice shouldStop ()?
  • Primavera Android Vs Retrofit
  • RoboSpice con Gson y Realm
  • Cambiar ConnectionTimeout de Retrofit OkHttpClient en tiempo de ejecución
  • Objeto de almacenamiento Robospice que extiende ArrayList en la base de datos a través de Ormlite
  • No hay ningún error de este tipo al usar robospice-retrofit y getstream.io
  • Configuración de la conexión TimeOut en la solicitud de RoboSpice android
  • Retrofit / Robospice: ¿Obtener los encabezados de respuesta de una solicitud exitosa?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.