Amazon S3

In the event of your service encountering a failure an alternative solution could we use (thats easy to implement with your system) to record the xml post data incase there's a web service bug.

 We are working on features to help with web service connection issues which might include allowing you to set the max number of retries, what to do when it cannot connect, an email function, etc.

 In lieu of this, we would recommend Amazon S3. Here are some the details of Amazon S3 and how it works.

Documentation

http://aws.amazon.com/documentation/s3/

http://aws.amazon.com/documentation/sdkforphp/

http://docs.amazonwebservices.com/AWSSDKforPHP/latest/

AWS Console

http://aws.amazon.com/console/

 SDK:

http://aws.amazon.com/sdkforphp/

Example
$token = new AmazonSTS(ACCESSKEYID,SECRETKEY);
$response = $token->get_session_token();
$AccessKey = (string)$response->body->GetSessionTokenResult->Credentials->AccessKeyId;
$SecretAccessKey = (string)$response->body->GetSessionTokenResult->Credentials->SecretAccessKey;
$SessionToken = (string)$response->body->GetSessionTokenResult->Credentials->SessionToken;
$s3 = new AmazonS3($AccessKey, $SecretAccessKey,$SessionToken);
$bucket = 'bucket1';
$exists = $s3->if_bucket_exists($bucket);
while (!$exists)
{
sleep(1);
$exists = $s3->if_bucket_exists($bucket);
}
 $s3->batch()->create_object($bucket, $destinationFileName, array( 'fileUpload' => $sourceFileName ));
$file_upload_response = $s3->batch()->send();
 if($file_upload_response->areOK())
{
echo 'success';
}


Example (Creating an S3 Object)
        $bucket = 'bucket1';
        $AccessKey= 'AccessKey';
        $SecretAccessKey= 'SecretAccessKey';
        $s3 = new AmazonS3($AccessKey, $SecretAccessKey);
 
        
        $exists = $s3->if_bucket_exists($bucket);
 
        if($exists === true)
        {
            $response = $s3->create_object(
                                    $bucket,
                                    $keyname,
                                    array (
                                        'body' => $fileContent,
                                        'acl'    => \AmazonS3::ACL_PUBLIC
                                    )
                                );
                
            if($response->isOK())
            {
                echo 'success';
            }
        }