http://hc.apache.org/httpcomponents-client-ga/quickstart.htmlで見つけたコードを使用して、簡単な HTTP クライアント アプリケーションを作成しました。コード スニペットを次に示します。
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
log.info("Logging in");
HttpResponse response;
try {
response = httpclient.execute(httpGet);
}
catch (ClientProtocolException cpe) {
String msg = "Error logging in with:" + rootUrl;
log.error(msg, cpe);
throw new BusinessRuleException(msg, cpe);
}
catch (IOException ioe) {
String msg = "Error logging in with:" + rootUrl;
log.error(msg, ioe);
throw new BusinessRuleException(msg, ioe);
}
try {
System.out.println(response.getStatusLine());
HttpEntity entity = response.getEntity();
// do something useful with the response body
// and ensure it is fully consumed
EntityUtils.consume(entity);
}
catch (IOException ioe) {
String msg = "Error retrieving login response:" + rootUrl;
log.error(msg, ioe);
throw new BusinessRuleException(msg, ioe);
}
finally {
httpGet.releaseConnection();
}
私はこの例外を受け取ります:
java.lang.NoSuchMethodError: org.apache.http.client.methods.HttpGet.releaseConnection()V
at com.xerox.tclg.juror.schedule.RestScheduleRunner.runDailyCheckout(RestScheduleRunner.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260)
releaseConnection() は必要ないというドキュメントを見つけたので、finally ブロックを削除しました。次に、この例外が発生します。
java.lang.NoSuchMethodError: org.apache.http.util.EntityUtils.consume(Lorg/apache/http/HttpEntity;)V
at com.xerox.tclg.juror.schedule.RestScheduleRunner.runDailyCheckout(RestScheduleRunner.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260)
誰もこれを見たことがありますか?