org.jets3t.service.impl.soap.axis
Class SoapS3Service

java.lang.Object
  extended by org.jets3t.service.S3Service
      extended by org.jets3t.service.impl.soap.axis.SoapS3Service
All Implemented Interfaces:
Serializable

Deprecated. in 0.7.4 -- full removal is imminent.

public class SoapS3Service
extends S3Service

SOAP implementation of an S3Service based on the Apache Axis 1.4 library.

Note: This SOAP implementation does not support IO streaming uploads to S3. Any documents uploaded by this implementation must fit inside memory allocated to the Java program running this class if OutOfMemory errors are to be avoided.

Note 2: The SOAP implementation does not perform retries when communication with s3 fails.

The preferred S3Service implementation in JetS3t is RestS3Service. This SOAP implementation class is provided with JetS3t as a proof-of-concept, showing that alternative service implementations are possible and what a SOAP service might look like. We do not recommend that this service be used to perform any real work.

Author:
James Murty
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jets3t.service.S3Service
BUCKET_STATUS__ALREADY_CLAIMED, BUCKET_STATUS__DOES_NOT_EXIST, BUCKET_STATUS__MY_BUCKET, VERSION_NO__JETS3T_TOOLKIT
 
Constructor Summary
SoapS3Service(AWSCredentials awsCredentials)
          Deprecated. Constructs the SOAP service implementation and, based on the value of S3Service.isHttpsOnly sets the SOAP endpoint to use HTTP or HTTPS protocols.
SoapS3Service(AWSCredentials awsCredentials, String invokingApplicationDescription)
          Deprecated. Constructs the SOAP service implementation and, based on the value of S3Service.isHttpsOnly sets the SOAP endpoint to use HTTP or HTTPS protocols.
SoapS3Service(AWSCredentials awsCredentials, String invokingApplicationDescription, Jets3tProperties jets3tProperties)
          Deprecated. Constructs the SOAP service implementation and, based on the value of S3Service.isHttpsOnly sets the SOAP endpoint to use HTTP or HTTPS protocols.
 
Method Summary
 int checkBucketStatus(String bucketName)
          Deprecated. Find out the status of an S3 bucket with the given name.
 boolean isBucketAccessible(String bucketName)
          Deprecated. Indicates whether a bucket exists and is accessible to a service user.
 
Methods inherited from class org.jets3t.service.S3Service
buildPostForm, buildPostForm, buildPostForm, copyObject, copyObject, copyVersionedObject, copyVersionedObject, createBucket, createBucket, createBucket, createSignedDeleteUrl, createSignedDeleteUrl, createSignedDeleteUrl, createSignedDeleteUrl, createSignedGetUrl, createSignedGetUrl, createSignedGetUrl, createSignedGetUrl, createSignedHeadUrl, createSignedHeadUrl, createSignedHeadUrl, createSignedHeadUrl, createSignedPutUrl, createSignedPutUrl, createSignedPutUrl, createSignedPutUrl, createSignedUrl, createSignedUrl, createSignedUrl, createSignedUrl, createSignedUrl, createSignedUrl, createTorrentUrl, createTorrentUrl, createUnsignedObjectUrl, deleteBucket, deleteBucket, deleteObject, deleteObject, deleteVersionedObject, deleteVersionedObjectWithMFA, disableMFAForVersionedBucket, enableBucketVersioning, enableBucketVersioningAndMFA, enableBucketVersioningWithMFA, generatePostPolicyCondition_AllowAnyValue, generatePostPolicyCondition_Equality, generatePostPolicyCondition_Equality, generatePostPolicyCondition_Equality, generatePostPolicyCondition_Range, generatePostPolicyCondition, getAccountOwner, getAWSCredentials, getBucket, getBucketAcl, getBucketAcl, getBucketLocation, getBucketLoggingStatus, getBucketVersioningStatus, getCurrentTimeWithOffset, getDevPayProductToken, getDevPayUserToken, getInternalErrorRetryMax, getInvokingApplicationDescription, getJetS3tProperties, getObject, getObject, getObject, getObject, getObjectAcl, getObjectAcl, getObjectDetails, getObjectDetails, getObjectDetails, getObjectDetails, getObjectVersions, getOrCreateBucket, getOrCreateBucket, getVersionedObject, getVersionedObject, getVersionedObject, getVersionedObjectAcl, getVersionedObjectAcl, getVersionedObjectDetails, getVersionedObjectDetails, getVersionedObjectDetails, isAuthenticatedConnection, isHttpsOnly, isObjectInBucket, isRequesterPaysBucket, isRequesterPaysEnabled, isShutdown, listAllBuckets, listObjects, listObjects, listObjects, listObjects, listObjects, listObjectsChunked, listObjectsChunked, listVersionedObjects, listVersionedObjectsChunked, moveObject, putBucketAcl, putBucketAcl, putObject, putObject, putObjectAcl, putObjectAcl, putVersionedObjectAcl, putVersionedObjectAcl, renameObject, setBucketLoggingStatus, setDevPayProductToken, setDevPayUserToken, setRequesterPaysBucket, setRequesterPaysEnabled, shutdown, suspendBucketVersioning, suspendBucketVersioningWithMFA, updateObjectMetadata
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SoapS3Service

public SoapS3Service(AWSCredentials awsCredentials,
                     String invokingApplicationDescription,
                     Jets3tProperties jets3tProperties)
              throws S3ServiceException
Deprecated. 
Constructs the SOAP service implementation and, based on the value of S3Service.isHttpsOnly sets the SOAP endpoint to use HTTP or HTTPS protocols.

Parameters:
awsCredentials -
invokingApplicationDescription - a short description of the application using the service, suitable for inclusion in a user agent string for REST/HTTP requests. Ideally this would include the application's version number, for example: Cockpit/0.7.3 or My App Name/1.0
jets3tProperties - JetS3t properties that will be applied within this service.
Throws:
S3ServiceException

SoapS3Service

public SoapS3Service(AWSCredentials awsCredentials,
                     String invokingApplicationDescription)
              throws S3ServiceException
Deprecated. 
Constructs the SOAP service implementation and, based on the value of S3Service.isHttpsOnly sets the SOAP endpoint to use HTTP or HTTPS protocols.

Parameters:
awsCredentials -
invokingApplicationDescription - a short description of the application using the service, suitable for inclusion in a user agent string for REST/HTTP requests. Ideally this would include the application's version number, for example: Cockpit/0.7.3 or My App Name/1.0
Throws:
S3ServiceException

SoapS3Service

public SoapS3Service(AWSCredentials awsCredentials)
              throws S3ServiceException
Deprecated. 
Constructs the SOAP service implementation and, based on the value of S3Service.isHttpsOnly sets the SOAP endpoint to use HTTP or HTTPS protocols.

Parameters:
awsCredentials -
Throws:
S3ServiceException
Method Detail

isBucketAccessible

public boolean isBucketAccessible(String bucketName)
                           throws S3ServiceException
Deprecated. 
Description copied from class: S3Service
Indicates whether a bucket exists and is accessible to a service user. Caution: After changes to the way S3 operates, this check started to cause issues in situations where you need to immediately create a bucket when it does not exist. To conditionally create a bucket, use the S3Service.getOrCreateBucket(String) method instead.

This method can be performed by anonymous services.

Implementation notes

This method can be implemented by attempting to list the objects in a bucket. If the listing is successful return true, if the listing failed for any reason return false.

Specified by:
isBucketAccessible in class S3Service
Returns:
true if the bucket exists and is accessible to the service user, false otherwise.
Throws:
S3ServiceException

checkBucketStatus

public int checkBucketStatus(String bucketName)
                      throws S3ServiceException
Deprecated. 
Description copied from class: S3Service
Find out the status of an S3 bucket with the given name. This method is only implemented in the RestS3Service client.

Warning! S3 can act strangely when you use this method in some circumstances. If you check the status of a bucket and find that it does not exist, then create the bucket, S3 will continue to tell you the bucket does not exists for up to 30 seconds. This problem has something to do with connection caching (I think).

This S3 quirk makes it a bad idea to use this method to check for a bucket's existence before creating that bucket. Use the S3Service.getOrCreateBucket(String) method for this purpose instead.

Specified by:
checkBucketStatus in class S3Service
Returns:
S3Service.BUCKET_STATUS__MY_BUCKET if you already own the bucket, S3Service.BUCKET_STATUS__DOES_NOT_EXIST if the bucket does not yet exist in S3, or S3Service.BUCKET_STATUS__ALREADY_CLAIMED if someone else has already created a bucket with the given name.
Throws:
S3ServiceException