在java中等待较长的HTTP响应

在java中等待较长的HTTP响应,java,httpclient,httprequest,httpurlconnection,socket-timeout-exception,Java,Httpclient,Httprequest,Httpurlconnection,Socket Timeout Exception,我有一个调用服务的java应用程序。服务呼叫将花费大约5-10分钟完成其操作并返回状态日志作为响应。(持续时间长的原因是将文件/图像从一台服务器复制到另一台服务器)。同时,对服务进行的任何其他调用都将被拒绝,并给出错误响应。等待这个通常很长的回复的最佳方式是什么 我尝试了以下请求,但没有成功: 1.HTTPUrlConnection: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReques

我有一个调用服务的java应用程序。服务呼叫将花费大约5-10分钟完成其操作并返回状态日志作为响应。(持续时间长的原因是将文件/图像从一台服务器复制到另一台服务器)。同时,对服务进行的任何其他调用都将被拒绝,并给出错误响应。等待这个通常很长的回复的最佳方式是什么

我尝试了以下请求,但没有成功:

1.HTTPUrlConnection:

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setReadTimeout(10 * 60000);
conn.setConnectTimeout(10 * 60000);
conn.connect();
try {
    conn.getInputStream();
} catch (Exception e) {
  //error handling
}
结果:大约5分钟后,请求失败,错误消息指示服务已在进行中。似乎请求在某种超时后被两次调用到服务

2.HttpClient

HttpClient client = new HttpClient ();
GetMethod method = new GetMethod(requestUrl);

try {
    int statusCode = client.executeMethod(method);
    if(statusCode == HttpStatus.SC_OK) {
        // success
    } else {
        String errorMessage = method.getResponseBodyAsString();
        //error handling
    }
}
结果:大约5分钟后,httpClient失败并出现“连接重置”错误

请注意,我能够在浏览器上运行url请求,并且能够获得成功的响应。我错过什么了吗


谢谢

我认为你可以使用它更好地实现它。另一个