在GWT WebApp中使用WebService客户端的ApiDeadlineExceededException

时间:2014-03-12 19:40:01

标签: java eclipse gwt

我使用Eclipse向导创建了一个WebService客户端。当我使用标准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:我应该为此使用某种异步线程吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

似乎你可以用这个来增加超时:

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

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