使用S3服务我试图从所有桶中检索列表。虽然我这样做但我得到了例外。
我收到S3服务异常:java.lang.Long无法强制转换为java.lang.Integer。
以下是代码:
String awsKey = "awskey";
String awsSecret = "secret";
AWSCredentials aws = new AWSCredentials(awsKey,awsSecret);
//communicate with s3
try{
S3Service service = new RestS3Service(aws);
//get buckets
S3Bucket[] buckets = service.listAllBuckets();
这是堆栈跟踪:
<code> org.jets3t.service.S3ServiceException: Request Error: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:1370)
at UploadToS3.main(UploadToS3.java:20) Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
at org.apache.http.params.AbstractHttpParams.getIntParameter(AbstractHttpParams.java:70)
at org.apache.http.client.params.HttpClientParamConfig.getRequestConfig(HttpClientParamConfig.java:54)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:806)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.performRequest(RestStorageService.java:334)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.performRequest(RestStorageService.java:281)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.performRestGet(RestStorageService.java:981)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.listAllBucketsImpl(RestStorageService.java:1373)
at org.jets3t.service.StorageService.listAllBucketsImpl(StorageService.java:1379)
at org.jets3t.service.StorageService.listAllBuckets(StorageService.java:563)
at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:1367)
任何帮助,将不胜感激。 感谢。
答案 0 :(得分:6)
这是http客户端的问题,不得不使用旧版本。
使用4.3.1时,不得不使用4.2。
答案 1 :(得分:0)
此问题已修复,但尚未发布(HTTPCLIENT-1418)。 在Apache HttpComponents HttpClient的4.3.2版中查找修复程序。