Вот пример моего кода:
Properties props = new Properties(); props.setProperty(KeystoneProperties.CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS); context = ContextBuilder.newBuilder("hpcloud-objectstorage") .overrides(props) .credentials(api_key, api_secret) .buildView(BlobStoreContext.class); store = context.getBlobStore(); // this works Blob blob1 = store.blobBuilder("file1") .payload("") .build(); String blobName1 = store.putBlob(remoteFolderName, blob1); // this crashes with the message, you can see below Blob blob2 = store.blobBuilder("file2") .payload("a") .build(); String blobName1 = store.putBlob(remoteFolderName, blob2);
сообщение об исключении, которое я получаю после выполнения этого кода, выглядит следующим образом:
Nov 07, 2012 7:08:44 PM org.jclouds.logging.jdk.JDKLogger logError Schwerwiegend: Cannot retry after server error, command has exceeded retry limit 5: [method=HPCloudObjectStorageAsyncApi.putObject, request=PUT https://region-a.geo-1.objects.hpcloudsvc.com/v1/82797321453196/cloudstoretest/file2 HTTP/1.1]
вот трассировка стека:
org.jclouds.http.HttpResponseException: Unexpected end of file from server connecting to PUT https://region-a.geo-1.objects.hpcloudsvc.com/v1/82797321453196/cloudstoretest/tada%21 HTTP/1.1 at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:179) at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:135) ...
Я понятия не имею, в чем может быть проблема. Ищу 2 дня возможные решения, но безрезультатно. Буду очень рад, если кто-то подскажет, что я делаю не так...