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/
$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';
}
$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';
}
}