//package com.eactive.eai.inbound.remote; // //import java.util.ArrayList; //import org.apache.commons.net.ftp.FTPClient; //import org.apache.commons.net.ftp.FTPFile; //import org.apache.commons.net.ftp.FTPReply; // //public class FTPTransferByApi extends CommonTransfer //{ // // private FTPClient ftpClient = null; // // // //------------------------------------------------------------------------------------------- // // // //------------------------------------------------------------------------------------------- // private void connect(RemoteServerVO remoteServerVO) throws Exception { // // try { // String remoteServerIP = remoteServerVO.getRemoteServerIP(); // String remoteFtpPort = remoteServerVO.getRemoteFtpPort(); // // if (remoteFtpPort.equals("")) { // logger.warn("[리모트송수신] [FTP_Api] 해당 서버["+ remoteServerIP +"] 에 연결할 FTP 포트번호가 주어지지 않았습니다. 디폴트 포트번호 '21' 을 설정합니다."); // remoteFtpPort = "21"; // } // logger.info("[리모트송수신] [FTP_Api] ▶ FTP 서버 연결 시도... " + remoteServerIP + ":" + remoteFtpPort); // // // if (ftpClient!=null && ftpClient.isConnected()) { // logger.info("[리모트송수신] [FTP_Api] ▶ 해당 FTP 서버에 이미 연결되어 있습니다."); // return; // } // // ftpClient = new FTPClient(); // ftpClient.setControlEncoding("EUC-KR"); // ftpClient.connect(remoteServerIP, Integer.parseInt(remoteFtpPort)); // // int reply = ftpClient.getReplyCode(); // logger.info("[리모트송수신] [FTP_Api] ☞ 응답코드 : "+ reply); // // if (!FTPReply.isPositiveCompletion(reply)) { // try { // logger.error("[리모트송수신] [FTP_Api] FTP 서버 연결에 실패하였습니다."); // ftpClient.disconnect(); // // } catch (Exception ex) { // logger.error( ex.getMessage(), ex); // } // throw new Exception("FTP 연결 응답코드("+ reply +") 가 비정상입니다."); // } // logger.info("[리모트송수신] [FTP_Api] ▶ FTP 서버에 연결되었습니다."); // // } catch (Exception ex) { // logger.error( ex.getMessage(), ex); // throw new Exception("FTP 연결 오류!\n caused by..."+ ex.toString()); // } // } // // //------------------------------------------------------------------------------------------- // // // //------------------------------------------------------------------------------------------- // private void disconnect() { // logger.info("[리모트송수신] [FTP_Api] ▶ FTP 서버 연결 해제 시도..."); // try { // if (ftpClient!=null && ftpClient.isConnected()) ftpClient.disconnect(); // logger.info("[리모트송수신] [FTP_Api] ▶ FTP 서버 연결이 해제 되었습니다."); // } catch (Exception ex) { // logger.error( ex.getMessage(), ex); // } // } // // //------------------------------------------------------------------------------------------- // // // //------------------------------------------------------------------------------------------- // public ArrayList listFiles(RemoteServerVO remoteServerVO, String remoteDir) throws Exception { // // logger.info("[리모트송수신] [FTP_Api] ■ 리모트 파일 목록 조회 시작...... (Component 사용)"); // logger.info("[리모트송수신] [FTP_Api] ⓟ 리모트 경로 : ["+ remoteDir +"]"); // // //파라미터 체크 // if (remoteServerVO == null) throw new Exception("{리모트서버 VO} 파라미터 오류"); // if (remoteDir.equals("")) throw new Exception("{리모트경로} 파라미터 오류"); // // ArrayList alist = new ArrayList(); // // try { // if (ftpClient == null || !ftpClient.isConnected()) this.connect(remoteServerVO); // // ftpClient.login(remoteServerVO.getRemoteUserId(), remoteServerVO.getRemotePassword()); // // FTPFile[] files = ftpClient.listFiles(remoteDir); // logger.info("[리모트송수신] [FTP_Api] ☞ 리모트 파일 건수 : ["+ files.length +"]"); // // for (int i=0; iRemote FTP 송신이 구현되지 않았습니다."); // } // // //------------------------------------------------------------------------------------------- // // // //------------------------------------------------------------------------------------------- // public void receiveFile(RemoteServerVO remoteServerVO, String remoteDir, String remoteFile, String eaiDir, String eaiFile) throws Exception { // throw new Exception("Component 에 의한 Remote->EAI FTP 수신이 구현되지 않았습니다."); // } // //}