ApiDeadlineExceededException с использованием клиента WebService в GWT WebApp

1

Я создал клиента WebService с помощью мастера Eclipse Wizard. Он отлично работает, когда я использую стандартные java-классы, но когда я пытаюсь использовать его в GWT WebApp, я получаю эту ошибку:

} catch (ApiProxy.ApiDeadlineExceededException e) {
  throw new SocketException("Socket operation timed out: " + e.getMessage());
}

С помощью этого сообщения:

java.net.SocketException: Socket operation timed out: The API call remote_socket.Receive() took too long to respond and was cancelled.

Вопрос 1: Есть ли способ увеличить этот тайм-аут ApiDeadLine? Дело в том, что я отлаживаю и, к сожалению, соединение происходит медленно, поэтому ответы будут длиться не менее 10-20 секунд.

Вопрос 2: Должен ли я использовать другую форму для связи с WebService?

Вопрос 3: Должен ли я использовать для этого какие-то асинхронные потоки?

Благодарю!

Теги:
gwt

1 ответ

0
Лучший ответ

Кажется, что вы можете увеличить таймаут с помощью этого:

com.google.apphosting.api.ApiProxy.Environment env = ApiProxy.getCurrentEnvironment();

env.getAttributes().put("com.google.apphosting.api.ApiProxy.api_deadline_key", 9999 );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню