Как передать имя файла мэйнфрейма в предпринятом.net.ftp.FileTransferClient - PullRequest
2 голосов
/ 03 марта 2012

Я пытаюсь загрузить файл с ftp-сервера, используя com.enterprisedt.net.ftp.FileTransferClient, имя файла - "ABC.DEF.GHI.JKL (0)", это файл мэйнфрейма, и это допустимое имя файла (проверяется с помощьюАдминистратор мэйнфрейма).

    public static void main(String[] args) {

    // extract command-line arguments
    String host = "111.111.111.111";
    String username = "bbbbbbbb";
    String password = "cccccccccp";
    String filename = "ABC.DEF.GHI.JKL(0)";

    // set up logger so that we get some output
    Logger log = Logger.getLogger(ConnectToServer.class);
    Logger.setLevel(Level.INFO);

    FileTransferClient ftp = null;

    try {
        // create client
        log.info("Creating FTP client");
        ftp = new FileTransferClient();

        // set remote host
        log.info("Setting remote host");
        ftp.setRemoteHost(host);
        ftp.setUserName(username);
        ftp.setPassword(password);

        // connect to the server
        log.info("Connecting to server " + host);
        ftp.connect();
        log.info("Connected and logged in to server " + host);

        //Downloading file from server
        log.info("Downloading file");
        ftp.downloadFile(filename+".copy", filename);
        log.info("File downloaded");

        // Shut down client
        log.info("Quitting client");
        ftp.disconnect();

        log.info("Example complete");

    } catch (Exception e) {
        e.printStackTrace();
    }
}

Я получаю сообщение об ошибке:

ERROR [FTPClient] 2 Mar 2012 21:44:08.359 : Caught and rethrowing exception in initGet() : Invalid data set name "ABC.DEF.GHI.JKL(0)". Use MVS Dsname conventions. com.enterprisedt.net.ftp.FTPException: 501 Invalid data set name "ABC.DEF.GHI.JKL(0)". Use MVS Dsname conventions. at com.enterprisedt.net.ftp.FTPControlSocket.validateReply(FTPControlSocket.java:1223) at com.enterprisedt.net.ftp.FTPClient.initGet(FTPClient.java:3109) at com.enterprisedt.net.ftp.FTPClient.getData(FTPClient.java:3156) at com.enterprisedt.net.ftp.FTPClient.getFile(FTPClient.java:2970) at com.enterprisedt.net.ftp.FTPClient.get(FTPClient.java:2356) at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:703) at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:683) at com.bluecrossma.ConnectToServer.main(ConnectToServer.java:47)

Пожалуйста, предложите мне, как решить эту проблему.

Заранее спасибо

1 Ответ

3 голосов
/ 03 марта 2012

Нашел ответ по этой ссылке: torsas.ca / attachments / File / 03012008 / FTP_Fileref.pdf Просто нужно добавить одинарные кавычки в двойные кавычки .. Спасибо, ребята.

...