为什么 Camel 在 FTP 回复 125 时抛出异常?

Why does Camel throw an exception on FTP reply 125?

...
org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed:
    125 Storing data set TEST.TRANSFER.FB80.TXT
 IOException caught while copying.. Code: 125
  at org.apache.camel.component.file.remote.FtpOperations.doStoreFile(FtpOperations.java:710)
  ...

RFC 959 读作:

125   Data connection already open; transfer starting.

这是更多的信息而不是例外,不是吗?

FTP 回复代码 125 只是故事的一半。使用 Windows 7 的命令行 ftp 客户端手动执行传输显示:

ftp> send TRANSFER.FB80.TXT
---> PORT 10,100,113,251,254,235
200 Port request OK.
---> STOR TRANSFER.FB80.TXT
125 Storing data set TEST.TRANSFER.FB80.TXT
451-Error: Name=CkResults (Write) RC=-13
451-System completion code and reason: B37-04
451-Data set is out of space.
451-Error (1013) closing the data set.
451 Transfer aborted due to file error.
...

我创建了相应的问题 CAMEL-13069: Display proper FTP reply message in case of transfer error