使用Jets3t在s3上获取存储桶列表时出现异常

时间:2013-12-16 14:56:31

标签: java amazon-web-services amazon-s3

使用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)

任何帮助,将不胜感激。 感谢。

2 个答案:

答案 0 :(得分:6)

这是http客户端的问题,不得不使用旧版本。

使用4.3.1时,不得不使用4.2。

答案 1 :(得分:0)

此问题已修复,但尚未发布(HTTPCLIENT-1418)。 在Apache HttpComponents HttpClient的4.3.2版中查找修复程序。