Задать вопрос

Не работает SyncHttpClient?

Помогите плиз. SyncHttpClient вызывает onFailure(). в нем пустота. т.е. response = null, header = null, status = 0. Никак не могу понять что не нравится.
использую библиотечку loopj SyncHttpClient (не AsyncHttpClient. мне нужен именно синхронный запрос)
import com.loopj.android.http.SyncHttpClient;

        SyncHttpClient client = new SyncHttpClient();
        RequestParams params = new RequestParams();
        params.put("par", value);
        client.post(request_uri, params, new JsonHttpResponseHandler() {
            @Override
            public void onSuccess(int i, Header[] headers, org.json.JSONObject response) {
                
            }
        });


При этом AsyncHttpClient со всеми теме же параметрами отрабатывает успешно.

Ну подскажите хоть что нибудь. Третий день голову ломаю, ночами спать не могу, кусок в горло не лезет. Все о запросе думаю.
  • Вопрос задан
  • 2551 просмотр
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@Normanns
У меня не последняя версия этой либы, но мне кажется Ваша ошибка происходит в следующем коде:
try {
            makeRequestWithRetries();
        } catch (IOException e) {
            if (!isCancelled() && responseHandler != null) {
                responseHandler.sendFailureMessage(0, null, null, e);
            } else {
                Log.e("AsyncHttpRequest", "makeRequestWithRetries returned error, but handler is null", e);
            }
        }

IOException в данном случае вылезает из client.execute(request, context), который не был перехвачен try-catch'ем выше по иерархии и, как бы то не банально звучало, скорее всего спровоцирован вызовом синхронного запроса в UI-потоке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы