Java FTPS客户端在新的FTPS服务器上无法正常工作

Java FTPS客户端在新的FTPS服务器上无法正常工作,java,apache,ftp,ftp-client,lucee,Java,Apache,Ftp,Ftp Client,Lucee,在不久的将来,我们将从客户的ftps服务器转移到我们自己的ftps服务器。我只是尝试了现有的代码,但它不能与我们的新服务器正常工作 登录似乎正常,我可以使用printWorkingDirectory()查看服务器上的正确目录。但是我们不能上传文件或列出工作目录中的文件listFiles()和printWorkingDirectory()返回空字符串或空数组,尽管文件位于工作目录中 IIRC我们在旧的FTPS服务器上有类似的问题,可以通过进入被动模式来解决。但是无论是enterLocalPassi

在不久的将来,我们将从客户的ftps服务器转移到我们自己的ftps服务器。我只是尝试了现有的代码,但它不能与我们的新服务器正常工作

登录似乎正常,我可以使用
printWorkingDirectory()
查看服务器上的正确目录。但是我们不能上传文件或列出工作目录中的文件
listFiles()
printWorkingDirectory()
返回空字符串或空数组,尽管文件位于工作目录中

IIRC我们在旧的FTPS服务器上有类似的问题,可以通过进入被动模式来解决。但是无论是
enterLocalPassiveMode()
还是
enterLocalActiveMode()
都不能工作。同时,完全忽略这一行也无济于事

当连接FileZilla时,服务器本身工作正常,所以我猜问题出在我们的代码中,但是由于我们没有收到错误消息,所以很难猜测问题出在哪里

以下是在旧服务器上运行的版本(在Lucee 5.1.2.24上使用cfscript):

当我们尝试上载文件时,循环结束,但速度很快(我们这里的连接相当慢,因此不应立即上载几兆字节),最后的
disconnect()
调用超时

你知道从哪里开始调试吗?或者,我最初的假设是,这是一个错误的代码问题,这是一个服务器的问题,我们应该研究一下

更新:


由于篇幅太长,我在这里发布了FileZilla的详细日志:

如果它对旧服务器而不是新服务器有效,那么这听起来像是两台服务器之间的配置差异。例如,新服务器是否获得了有效的SSL证书?向我们显示FileZilla详细日志文件。这是FileZilla的详细日志:您有权访问服务器端日志吗?+
getReplyString()
listFiles()
+之后返回什么?它是否适用于普通的不安全FTP?
listFiles()
返回
503被拒绝-需要安全连接
-这似乎是一个拼写错误代码,530对于该错误似乎是正确的。我是否需要手动请求安全模式,因为我处于显式模式?如果是这样的话,有没有关于如何做到这一点的例子?如果它针对的是旧服务器而不是新服务器,那么这听起来像是两台服务器之间的配置差异。例如,新服务器是否获得了有效的SSL证书?向我们显示FileZilla详细日志文件。这是FileZilla的详细日志:您有权访问服务器端日志吗?+
getReplyString()
listFiles()
+之后返回什么?它是否适用于普通的不安全FTP?
listFiles()
返回
503被拒绝-需要安全连接
-这似乎是一个拼写错误代码,530对于该错误似乎是正确的。我是否需要手动请求安全模式,因为我处于显式模式?如果是,有没有关于如何做到这一点的例子?
var oFTPSclient = CreateObject("java", "org.apache.commons.net.ftp.FTPSClient").init("ssl",false);
oFTPSclient.connect( 'our.ftp.server');
oFTPSclient.enterLocalPassiveMode();
oFTPSclient.login( 'user', 'password');

var qFiles = DirectoryList(
    path = '/path/to/files/to/upload',
    filter = "*.jpg",
    listInfo = "query"
);

// Upload files
for( var oFile IN qFiles) {
    // Create path to source file
    var sSourceFilePath = ExpandPath( oFile.directory & '/' & oFile.name);
    // Create java file object
    var oJavaFile = CreateObject( "java", "java.io.File").init( sSourceFilePath);
    // open input stream from file
    var oFileInputStream = CreateObject("java", "java.io.FileInputStream").init( oJavaFile);
    // Set file transfer to binary
    oFTPSclient.setFileType( oFTPSclient.BINARY_FILE_TYPE);
    // store current file to server
    oFTPSclient.storeFile( oFile.name, oFileInputStream);
    oFileInputStream.close();
}

oFTPSclient.disconnect();