sto usando retrofit
per chiamare un servizio Web e retrofit sta gettando un fallimento, il il messaggio dalla 'Throwable` mi sta dandoRetrofit 2.0 OnFailure - Risposta Raw
java.lang.IllegalStateException: Previsto BEGIN_OBJECT ma STRING alla riga 1 colonna 1 percorso $
Suppongo che ciò sia dovuto al fatto che il servizio Web .Net genera un errore e non restituisce JSON. Ma per dimostrarlo devo essere in grado di vedere la risposta non elaborata nello onFailure
. C'è comunque che posso fare questo?
Questo è il codice che sto utilizzando
public void userLoginRequestEvent(final AuthenticateUserEvent event) {
Call call = sApi.login(event.getUsername(), event.getPassword(), OS_TYPE, DeviceInfoUtils.getDeviceName());
call.enqueue(new Callback<LoggedInUser>() {
@Override
public void onResponse(Response<LoggedInUser> response, Retrofit retrofit) {
// response.isSuccess() is true if the response code is 2xx
if (response.isSuccess()) {
LoggedInUser user = response.body();
AppBus.getInstance()
.post(new UserIsAuthenticatedEvent(user, event.getUsername(),
event.getPassword()));
} else {
int statusCode = response.code();
// handle request errors yourself
}
}
@Override
public void onFailure(Throwable t) {
// handle execution failures like no internet connectivity
Log.d("ERROR", t.getMessage());
}
});
Provare a registrare la richiesta/risposta utilizzando gli approcci all'indirizzo http://stackoverflow.com/questions/32514410/logging-with-retrofit-2 – keno
Fornire l'elenco stacktrace completo e l'elenco dell'interfaccia API. Puoi stampare full stacktrace aggiungendo 't.printStackTrace()' nel tuo metodo 'onFailure (Throwable t)'. Non ho notato quanti anni ha questa domanda. Non è ancora risolto? :) –
@ КлаусШварц è stato risolto dal primo commento, ma non è stata trovata nessuna risposta che potrei accettare – Flexicoder