Why not FTP it over?
Is there some [relatively easy?] way to "force" the process (at least this part if not the entire process) to be owned by the task owner? (again, this is a URLExternalTask, not a CGITask - and it's written in Java, not Perl)
Does your taskowner currently have permission to the target location? If not, then trying to run your code as the taskowner won't help much and you'll have to run as a user who does. I would be surprised if your taskowners were also given permission to your target server. But, since I don't know what your entire setup look like and if you're sending to a staging or production server I just have to guess.
Perhaps you can use JAAS' (starting with 1.4 this Package has been integrated with JRE) doAs Method(s).I do not know though if JAAS will allow SYSTEM to authenticate "Subject" with the Task Owner Credentials
...it sounds like I would still have to deal with explicit authentication...
Probably not highly recommended, but you could run the TeamSite service under a named account instead of the Local System account. It has to be an account that has access to the other server. I don't know what other issues you may encounter by doing the above, but's if it works it's the easiest solution. It's similar to the process for placing the backing store on another server.Here are some documents describing some of what needs to be done (in version 6.x) in order to make it work properly.https://customers.autonomy.com/support/secure/docs/FAQ/Interwoven/49040.htmlhttps://customers.autonomy.com/support/secure/docs/FAQ/Interwoven/2072.html
Please note that in Windows 'Administrator' and 'SYSTEM' are sort of super-users, they are both mapped to euid 0.You just *might* be able to get away with userid only (and you already have it). That said, I never tried. As to minimizing coding - it's Java, what can I say...
Does your copyFile java program work from the command line, and not through the TeamSite workflow? You can test that out by adding a main method to your class and just call the required methods passing the argument necessary.
I figured out how you can do it. I tested it and it works.In your security and sharing options on the destination computer you need to add the name of the source "computer". Not a user account. This way it will trust the computer and the system account. If you are unable to see the computer make sure you click the "Object Types" button and select "Computers" in the security area.You need to add the TeamSite computer to the share on your DEV boxes.This is all assuming that they are all on the same domain.