You can avoid deployment failures because of incomplete files by first copying (ftp'ing, whatever) the file to a separate directory (on the same filesystem) and then just moving it into the deployment directory.
For remote deployments without accessing the filesystem of the application server AFAIK you can use jmx-console (MainDeployer) with an http-URL.
Do you have some resource for this jmx-console deployment?! Does this HTTP-Address take a whole file?!
And invoke deploy(java.net.URL) providing the URL of the component you want to deploy. Works fine for me.
(Actually, this could be also done programmatically without using the jmx-console web-interface)
We try also to find a remote deployment solution. We have local jboss developement (win32) servers on each dev workstation and one integration server on a remote (linux) box.
It seems that with the "deploy(URL)" mbean method, it doesn't work when the URL is a local file. Maybe a solution is to configure a web or ftp server (on each development workstation ?) where the deloyable files are dropped and pointing this url to the jboss server for deployment, am I wrong ?