Использование Retrofit 1.6.0, OkHTTP 2.0.0 и OkHTTP-UrlConnection 2.0.0.
Я делаю POST для службы, используя Retrofit, к URL-адресу, который не существует. Вызывается обратный вызов отказа, как и ожидалось. Однако параметр RetrofitError не имеет ответа. Мне бы очень хотелось получить код состояния HTTP, который был возвращен с помощью
error.getResponse().getStatus()
но поскольку getResponse() возвращает null, я не могу.
Почему getResponse() null и как я могу получить статус?
Спасибо.
Кроме того, я получаю ошибку UnknownHostException, как и ожидалось. Повторите: я ожидаю эту ошибку. Я хочу знать, как получить код состояния HTTP или почему error.getResponse() возвращает значение null.
Изменить: Здесь некоторый код:
RestAdapterBuilderClass.java
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://badURL.DoesntMatter/");
.setRequestInterceptor(sRequestInterceptor)
.setLogLevel(RestAdapter.LogLevel.FULL)
.build();
sService = restAdapter.create(ServiceInterface.class);
ServiceInterface.java
@POST("/Login")
void login(@Body JsonObject body, Callback<String> callback);
CallbackClass.java
@Override
public void failure(RetrofitError error) {
if (error.getResponse() == null) {
// error.getResponse() is null when I need to get the status code
// from it.
return;
}
}