I'm putting a file via SFTP, and getting an Operation Unsupported exception, even though the transfer is working. Can someone help me figure out what's going wrong? I'm using the latest version of sshj. For reference, I was able to perform the same transfer using JSch, but I prefer sshj because it's open source. Thanks.
SSHClient sshClient = new SSHClient();
sshClient.addHostKeyVerifier(new PromiscuousVerifier());
sshClient.connect(host, port);
sshClient.authPassword(username, password);
SFTPClient sftpClient = sshClient.newSFTPClient();
String src = "/tmp/test4.txt";
FileSystemFile fileSystemFile = new FileSystemFile(src);
sftpClient.put(fileSystemFile, "/DIST-To-FDC-PT");
[2015-11-24 08:31:57,521] u= r= d= m= v= i= DEBUG started transferring file `test4.txt` (26 bytes) (net.schmizz.sshj.xfer.LoggingTransferListener)
[2015-11-24 08:31:57,527] u= r= d= m= v= i= DEBUG Sending Request{5;STAT} (net.schmizz.sshj.sftp.SFTPEngine)
[2015-11-24 08:31:57,529] u= r= d= m= v= i= DEBUG Consuming by 28 down to 130970 (net.schmizz.sshj.connection.channel.Window$Remote)
[2015-11-24 08:31:57,530] u= r= d= m= v= i= DEBUG Awaiting <<sftp / 5>> (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:57,641] u= r= d= m= v= i= DEBUG Consuming by 41 down to 2096554 (net.schmizz.sshj.connection.channel.Window$Local)
[2015-11-24 08:31:57,641] u= r= d= m= v= i= DEBUG Received ATTRS packet (net.schmizz.sshj.sftp.PacketReader)
[2015-11-24 08:31:57,641] u= r= d= m= v= i= DEBUG Setting <<sftp / 5>> to `Buffer [rpos=5, wpos=37, size=37]` (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:57,641] u= r= d= m= v= i= DEBUG probeFile: /DIST-To-FDC-PT was directory, path adjusted for test4.txt (net.schmizz.sshj.sftp.SFTPFileTransfer)
[2015-11-24 08:31:57,643] u= r= d= m= v= i= DEBUG Sending Request{6;OPEN} (net.schmizz.sshj.sftp.SFTPEngine)
[2015-11-24 08:31:57,644] u= r= d= m= v= i= DEBUG Consuming by 46 down to 130924 (net.schmizz.sshj.connection.channel.Window$Remote)
[2015-11-24 08:31:57,645] u= r= d= m= v= i= DEBUG Awaiting <<sftp / 6>> (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:57,763] u= r= d= m= v= i= DEBUG Consuming by 17 down to 2096537 (net.schmizz.sshj.connection.channel.Window$Local)
[2015-11-24 08:31:57,763] u= r= d= m= v= i= DEBUG Received HANDLE packet (net.schmizz.sshj.sftp.PacketReader)
[2015-11-24 08:31:57,763] u= r= d= m= v= i= DEBUG Setting <<sftp / 6>> to `Buffer [rpos=5, wpos=13, size=13]` (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:57,785] u= r= d= m= v= i= DEBUG Sending Request{7;WRITE} (net.schmizz.sshj.sftp.SFTPEngine)
[2015-11-24 08:31:57,786] u= r= d= m= v= i= DEBUG Consuming by 55 down to 130869 (net.schmizz.sshj.connection.channel.Window$Remote)
[2015-11-24 08:31:57,787] u= r= d= m= v= i= DEBUG Awaiting <<sftp / 7>> (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:57,888] u= r= d= m= v= i= DEBUG Consuming by 28 down to 2096509 (net.schmizz.sshj.connection.channel.Window$Local)
[2015-11-24 08:31:57,889] u= r= d= m= v= i= DEBUG Received STATUS packet (net.schmizz.sshj.sftp.PacketReader)
[2015-11-24 08:31:57,889] u= r= d= m= v= i= DEBUG Setting <<sftp / 7>> to `Buffer [rpos=5, wpos=24, size=24]` (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:57,889] u= r= d= m= v= i= DEBUG 0.025390625 KiB transferred in 0.105 seconds (0.2418154761904762 KiB/s) (net.schmizz.sshj.common.StreamCopier)
[2015-11-24 08:31:57,890] u= r= d= m= v= i= DEBUG Closing `RemoteResource{/DIST-To-FDC-PT/test4.txt}` (net.schmizz.sshj.sftp.RemoteFile)
[2015-11-24 08:31:57,891] u= r= d= m= v= i= DEBUG Sending Request{8;CLOSE} (net.schmizz.sshj.sftp.SFTPEngine)
[2015-11-24 08:31:57,892] u= r= d= m= v= i= DEBUG Consuming by 17 down to 130852 (net.schmizz.sshj.connection.channel.Window$Remote)
[2015-11-24 08:31:57,893] u= r= d= m= v= i= DEBUG Awaiting <<sftp / 8>> (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:58,020] u= r= d= m= v= i= DEBUG Consuming by 28 down to 2096481 (net.schmizz.sshj.connection.channel.Window$Local)
[2015-11-24 08:31:58,020] u= r= d= m= v= i= DEBUG Received STATUS packet (net.schmizz.sshj.sftp.PacketReader)
[2015-11-24 08:31:58,020] u= r= d= m= v= i= DEBUG Setting <<sftp / 8>> to `Buffer [rpos=5, wpos=24, size=24]` (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:58,021] u= r= d= m= v= i= DEBUG Sending Request{9;SETSTAT} (net.schmizz.sshj.sftp.SFTPEngine)
[2015-11-24 08:31:58,022] u= r= d= m= v= i= DEBUG Consuming by 54 down to 130798 (net.schmizz.sshj.connection.channel.Window$Remote)
[2015-11-24 08:31:58,023] u= r= d= m= v= i= DEBUG Awaiting <<sftp / 9>> (net.schmizz.concurrent.Promise)
[2015-11-24 08:31:58,068] u= r= d= m= v= i= DEBUG Consuming by 42 down to 2096439 (net.schmizz.sshj.connection.channel.Window$Local)
[2015-11-24 08:31:58,068] u= r= d= m= v= i= DEBUG Received STATUS packet (net.schmizz.sshj.sftp.PacketReader)
[2015-11-24 08:31:58,069] u= r= d= m= v= i= DEBUG Setting <<sftp / 9>> to `Buffer [rpos=5, wpos=38, size=38]` (net.schmizz.concurrent.Promise)
net.schmizz.sshj.sftp.SFTPException: Operation unsupported
at net.schmizz.sshj.sftp.Response.error(Response.java:113)
at net.schmizz.sshj.sftp.Response.ensureStatusIs(Response.java:106)
at net.schmizz.sshj.sftp.Response.ensureStatusPacketIsOK(Response.java:99)
at net.schmizz.sshj.sftp.SFTPEngine.setAttributes(SFTPEngine.java:161)
at net.schmizz.sshj.sftp.SFTPFileTransfer$Uploader.upload(SFTPFileTransfer.java:188)
at net.schmizz.sshj.sftp.SFTPFileTransfer$Uploader.access$100(SFTPFileTransfer.java:174)
at net.schmizz.sshj.sftp.SFTPFileTransfer.upload(SFTPFileTransfer.java:70)
at net.schmizz.sshj.sftp.SFTPClient.put(SFTPClient.java:248)
at com.clover.server.controller.AppController.sftpFile(AppController.java:1241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)