AnsweredAssumed Answered

Downloading large files failure > 1 MB

Question asked by wingman on Jan 25, 2013
Latest reply on Jan 25, 2013 by wingman
Hi, I have created a DotNet client to test communicating to Alfresco using CMIS WS (not Atompub). I've downloaded the Alfresco 4.2a locally and am using the DotCmis library from apache. I have overwritten the default DotCmis WCF bindings because WCF doesn't work with Alfresco's plaintext usercredentials when connecting using WebServices, and I am too stupid to get SSL up-and-running in alfresco/TomCat. I've got everything working just fine: I can browse the repository, create and delete folders etc. I am using  drag-and-drop support to dragging files from Windows Explorer to a folder in my tool, and that works fine as well (so no upload button, just drop the file in the document-box, just like in explorer). I tried uploading 50 MB files, and they are uploaded in mere seconds on my machine, which is great.

The problem: when I try to get the content of files I just uploaded (using ObjectService.GetContentStream) it takes forever to download the bytes of a file! When opening files larger than 1 MB, the connection even get's cut off by the server.

As an attachment ( I have included the Visual Studio 2010 solution of my project, just rename to .zip and extract). It contains everything that's needed, including default settings to connect to local installation of alfresco when the admin password is Alfresco$123 (of course, settings can be changed in the tool as well).

I believe the problem is at Alfresco's/TomCat's end: the .Net socket trace (which is configured in the app.config) clearly demonstrates that Alfresco is only streaming 4k packages at a time  (which is killing for large files, packages should be much bigger), and when streaming large files it is also clear that Alfresco/TomCat is not responding well to the final read-requests send by the WCF.

Can someone please confirm it is not my code that's causing the download failures? And if it is an alfresco/tomcat issue, can it be recconfigured at that end?

For clarification: all WCF settings are configured runtime in code, not via app.config.