¿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 lanzando excepciones okhttp
  • Detener un proceso de fondo en robospice
  • ¿Cómo aumentar el tiempo de espera para las solicitudes de reacondicionamiento en robospice android?
  • Android: cómo recuperar el objeto JSON en caso de una excepción con RoboSpice
  • Guardando colección extranjera en ORMLite con Robospice y Scala
  • RoboSpice y Jsoup
  • No hay ningún error de este tipo al usar robospice-retrofit y getstream.io
  • Uso de RoboSpice y RxJava
  • ¿Cómo se genera la clase con T y List <T>
  • OnStart of new Actividad se llama antes de onStop de padre
  • Uso de RoboSpice en un BroadcastReceiver
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.