/** * Passive mode is OFF by default. The value is taken from the connector settings. In case there * are any overriding properties set on the endpoint, those will be used. * * @see #setPassive(boolean) */ public void enterActiveOrPassiveMode(FTPClient client, UMOImmutableEndpoint endpoint) { // well, no endpoint URI here, as we have to use the most common denominator // in API :( final String passiveString = (String) endpoint.getProperty(FtpConnector.PROPERTY_PASSIVE_MODE); if (passiveString == null) { // try the connector properties then if (isPassive()) { if (logger.isTraceEnabled()) { logger.trace("Entering FTP passive mode"); } client.enterLocalPassiveMode(); } else { if (logger.isTraceEnabled()) { logger.trace("Entering FTP active mode"); } client.enterLocalActiveMode(); } } else { // override with endpoint's definition final boolean passiveMode = Boolean.valueOf(passiveString).booleanValue(); if (passiveMode) { if (logger.isTraceEnabled()) { logger.trace("Entering FTP passive mode (endpoint override)"); } client.enterLocalPassiveMode(); } else { if (logger.isTraceEnabled()) { logger.trace("Entering FTP active mode (endpoint override)"); } client.enterLocalActiveMode(); } } }
private void ftpFile(OrdersDocument ordsDoc, String filename, String warehouse) { // if (ordsDoc.validate()) { // FTP try { FTPClient ftp = new FTPClient(); if (isTest) { ftp.connect(Messages.getString(warehouse + "_testftp")); // $NON-NLS-1$ ftp.login( Messages.getString(warehouse + "_testusername"), Messages.getString(warehouse + "_testpassword")); // $NON-NLS-1$ //$NON-NLS-2$ } else { ftp.connect(Messages.getString(warehouse + "_ftp")); // $NON-NLS-1$ ftp.login( Messages.getString(warehouse + "_username"), Messages.getString(warehouse + "_password")); // $NON-NLS-1$ //$NON-NLS-2$ } System.out.println("Reply Code: " + ftp.getReplyCode()); // $NON-NLS-1$ if ("ACTIVE".equalsIgnoreCase(Messages.getString(warehouse + "_mode"))) { ftp.enterLocalActiveMode(); } else { ftp.enterLocalPassiveMode(); } ftp.changeWorkingDirectory("ship"); // $NON-NLS-1$ boolean success = ftp.storeFile( filename, new FileInputStream(Messages.getString("directory") + filename)); // $NON-NLS-1$ System.out.println("FTP Success? " + success); // $NON-NLS-1$ ftp.disconnect(); System.out.println("Complete"); // $NON-NLS-1$ } catch (SocketException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } // } }