我已经审查了spring integration sftp mainframe :failed to write file; nested exception is 3: Permission denied,但仍然无法将文件sftp到远程大型机 .

如果我使用命令行sftp到我的帐户,我的登录目录是:/ home / users / snoopy

从这里,我可以发出命令“put filename //#12345”并传输文件 . 我无法弄清楚如何在我的出站网关中指定“//#12345” . 是否有一些sftp选项可以添加以指定相同的命令?它是否被添加到表达式?,即expression =“payload.filename ???”

当前的远程目录是/ home / users / snoopy,所以我可以放到那个目录而没有任何问题,我只是无法得到// // 12345

如果我尝试将remote-directory设置为/ home / users / snoopy //#12345或/ home / users / snoopy /#12345,则这些路径不存在

这是我的网关配置:

<sftp outbound-gateway id="sftpOutbound"
session-factory="sftpSessionFactory"
request-channel="sftpOut"
command="put"
expression="payload.filename"
remote-directory="/home/users/snoopy"
remote-filename-generator="fileNameGenerator"
use-temporary-file-name="false"
reply-channel="successChannel"/>

有了这个配置,我可以将文件发送到/ home / users / snoopy,我只是还没弄明白如何将它发送到//#12345