So, you don’t want to use AcquireFiles? You want to stick with web services? Fine, you can do that, but don’t say I didn’t warn you. The web service mechanism for uploading/downloading got real ugly in Vault 2014.
The main reason for the change was the file store server architecture. The database server controls things like security and the file store server controls the actual bits. So you need to make at least 2 calls for every file transfer. Also, there are special headers that need to get set on each call. They were optional in the last release but they are required for 2014.
It’s probably best if I just post the code...
LegacyFileTransfer.cs
LegacyFileTransfer.vb
The code above contains examples of AddFile, CheckinFile, CheckoutFile, and DownloadFile. All Vault operations are done through the WebServiceManager. No Connection object required.
Related post: Logging in the Hard Way