Ошибка потока httpservice flex и истечение времени ожидания

У нас есть клиент AIR, отправляющий запрос HTTPService Post в Tomcat. Операция занимает более 30 секунд на сервере с момента операции передачи файлов.

К тому времени, когда сервер возвращает ответ, Flex выдает ошибку, 2032, ошибка потока (много проверено в сети). Похоже, что время ожидания истекло через 30 секунд, ожидая ответа Http.

Я попытался установить ht.requestTimeout, это не сработало. Настройка URLRequestDefaults.idleTimeout также не работает. Похоже, я зашел в тупик.

Решения, пожалуйста ...


person Blue Sky    schedule 08.11.2012    source источник
comment
Истекло ли время ожидания гибкого запроса; или время ожидания запроса сервера истекло?   -  person JeffryHouser    schedule 08.11.2012
comment
Это на стороне воздуха. Мы установили большой тайм-аут на Tomcat. Клиент показывает ошибку потока 2032 через 30 секунд. пробовал обновиться до последней версии AIR. Не помогло. Это критично, и мы должны это исправить. Пожалуйста, дайте мне знать, если есть выход ...   -  person Blue Sky    schedule 08.11.2012
comment
Я не уверен; Я знаю, что у меня были более длинные запросы (~ 1 минута) с использованием AMF без тайм-аутов. Надеюсь, кто-то еще более знающий сможет вмешаться.   -  person JeffryHouser    schedule 08.11.2012
comment
@Vish Я столкнулся с той же проблемой. Удалось ли вам решить проблему? Мой воздушный клиент не работает из-за тайм-аута запроса.   -  person user3123690    schedule 29.09.2014


Ответы (2)


Вам необходимо увеличить HTTPService тайм-аут с использованием свойства requestTimeout < / а>

Предоставляет доступ к таймауту запроса в секундах для отправленных сообщений. Значение меньше или равное нулю предотвращает тайм-аут запроса.

вы также можете использовать его ошибка, чтобы поймать тайм-аут, и действовать соответственно.

Надеюсь, это поможет

person Imran    schedule 10.11.2012
comment
Установка тайм-аута HTTPService, requestTimeout не имеет никакого эффекта. Мы пробовали это много раз с разными ценностями. Он просто отключается через 30 секунд. - person Blue Sky; 12.11.2012

Я тоже борюсь с этой проблемой. Добавьте этот фрагмент кода перед отправкой запроса ():

URLRequestDefaults.idleTimeout = 120000;  // in millis so this setting would timeout after 120 seconds.

Похоже, что в Flash Player для AIR есть ошибка (Flex использует другой), которая игнорирует responseTimeout в объекте HTTPRequest. Это правильно устанавливает тайм-аут.

person Doug P.    schedule 30.03.2013