WebDav BoxDotNet 409 Conflict error when uploading larger files

Mar 5, 2012 at 10:23 PM

As we've been experimenting uploading files of various sizes to a BoxDotNet account we are always seeing an exception once the file size is around 30MB or larger. The main Exception is always "Exception of type
'AppLimit.CloudComputing.SharpBox.Exceptions.SharpBoxException' was thrown." 

The stack trace is always similar to the following:

at
AppLimit.CloudComputing.SharpBox.Exceptions.SharpBoxException.ThrowSharpBoxExceptionBasedOnNetworkErrorCode(WebRequest
uploadRequest, Int32 code, WebException e) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\Exceptions\SharpBoxException.cs:line
80
at
AppLimit.CloudComputing.SharpBox.Exceptions.SharpBoxException.ThrowSharpBoxExceptionBasedOnHttpErrorCode(HttpWebRequest
uploadRequest, HttpStatusCode code, WebException e) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\Exceptions\SharpBoxException.cs:line
85
at
AppLimit.CloudComputing.SharpBox.StorageProvider.WebDav.Logic.WebDavStorageProviderService.CommitUploadStream(Object[]
arg) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\StorageProvider\WebDav\Logic\WebDavStorageProviderService.cs:line
344
at
AppLimit.CloudComputing.SharpBox.Common.Net.Web.WebRequestStream.PerformeDisposeOperations(Stack`1
stack) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\Common\Net\Web\WebRequestStream.cs:line
144
at
AppLimit.CloudComputing.SharpBox.Common.Net.Web.WebRequestStream.System.IDisposable.Dispose()
in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\Common\Net\Web\WebRequestStream.cs:line
128
at
AppLimit.CloudComputing.SharpBox.StorageProvider.GenericStorageProviderService.UploadResourceContent(IStorageProviderSession
session, ICloudFileSystemEntry fileSystemEntry, Stream targetDataStream,
FileOperationProgressChanged progressCallback, Object progressContext) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\StorageProvider\GenericStorageProviderService.cs:line
230
at
AppLimit.CloudComputing.SharpBox.StorageProvider.BaseObjects.BaseFileEntryDataTransfer.Transfer(Stream
targetDataStream, nTransferDirection direction, FileOperationProgressChanged
progressCallback, Object progressContext) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\StorageProvider\BaseObjects\BaseFileEntryDataTransfer.cs:line
47
at AppLimit.CloudComputing.SharpBox.CloudStorage.UploadFile(String filePath,
ICloudDirectoryEntry targetContainer, String targetFileName,
FileOperationProgressChanged delProgress) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\CloudStorageComfortFunctions.cs:line
293
at AppLimit.CloudComputing.SharpBox.CloudStorage.UploadFile(String filePath,
ICloudDirectoryEntry targetContainer, FileOperationProgressChanged delProgress)
in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\CloudStorageComfortFunctions.cs:line
249
at AppLimit.CloudComputing.SharpBox.CloudStorage.UploadFile(String filePath,
ICloudDirectoryEntry targetContainer) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\CloudStorageComfortFunctions.cs:line
233
at DswCloudLib.CloudStorageBase.UploadFile(String srcFileName, String
destFolderName) in F:\dynamic-v5\win\DswCloudLib\CloudStorageBase.cs:line 219


There is also an inner exception: "The remote server returned an error: (409) Conflict." with the corresponding stack trace:

at 
AppLimit.CloudComputing.SharpBox.Common.Net.Web.WebRequestService.GetWebResponse(WebRequest
request) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\Common\Net\Web\WebRequestService.cs:line
225
at
AppLimit.CloudComputing.SharpBox.Common.Net.Web.WebRequestService.PerformWebRequest(WebRequest
request, Object context, Stream content, Int32& ProtocolSpecificStatusCode,
WebException& errorInfo, WebHeaderCollection& headers) in
F:\dynamic-v5\win\SharpBox-1.2.0.542\AppLimit.CloudComputing.SharpBox\Common\Net\Web\WebRequestService.cs:line
337


Examining the HTTPS traffic with a sniffer with SSL decode capability I can see that the 409 Conflict error Response comes when we try to upload the 30MB file with the PUT /dav/<file-path> Request.

I would be happy to provide an additional information that might help figure out how to fix this problem. We can duplicate this 100% of the time on multiple machines.