Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con FTPClient

Estas en el tema de Problema con FTPClient en el foro de Java en Foros del Web. Hola a todos. Tengo un problemilla con FTPClient y no sé si me puedan ayudar a solucionarlo. Tengo una clase que trata de enviar un ...
  #1 (permalink)  
Antiguo 16/07/2010, 08:54
Avatar de Wayern  
Fecha de Ingreso: septiembre-2008
Ubicación: Aguascalientes
Mensajes: 65
Antigüedad: 15 años, 7 meses
Puntos: 4
Pregunta Problema con FTPClient

Hola a todos. Tengo un problemilla con FTPClient y no sé si me puedan ayudar a solucionarlo.
Tengo una clase que trata de enviar un archivo existente en un FTP a otro FTP diferente. Para eso estoy usando la clase FTPClient y el método remoteRetrieve(String) y remoteStoreUnique(String).
El problema que tengo es que antes de usar estos métodos estoy usando el método enterRemoteActiveMode() y en este método es donde la aplicación me tira una excepción. Básicamente la bronca está en que la conexión se resetea....
Este es el método que estoy usando para hacer la transferencia:
Código:
@SuppressWarnings("static-access")
	public Response transferJCLFileResult(final FTPClient ftpSource,
			final FTPClient ftpDestiny, final String fileName,
			final String ftpSite) {
		Response response = new Response();
		try {
			ftpDestiny.site(ftpSite);
			logger.info("*** Console FTP *** " + ftpDestiny.getReplyString());
		} catch (IOException e) {
			logger.error("Error :set site " + ftpSite + " to shelton file");
			response = util
					.createErrorResponse(FTPErrorId.GENERIC_REMOTE_ERROR,
							FTPErrorType.REMOTE_COMMAND_EXECUTION_ERROR, e
									.getMessage());
		}
		if (response.getResponseCode() == null) {
			try {
				ftpDestiny.enterRemotePassiveMode();
				System.out.println("****PASIVE MODE: "+ftpSource.enterRemotePassiveMode()+" "+ftpSource.getPassiveHost()+" "+ftpSource.getPassivePort());
				ftpSource.enterRemoteActiveMode(InetAddress
						.getByName(ftpDestiny.getPassiveHost()), ftpDestiny
						.getPassivePort());
			} catch (IOException e) {
				response = util.createErrorResponse(
						FTPErrorId.GENERIC_REMOTE_ERROR,
						FTPErrorType.REMOTE_COMMAND_EXECUTION_ERROR, e
								.getMessage());
				logger.error("****Error at 575: "+e.getMessage());
			}
			try {
				if (ftpSource.remoteRetrieve(fileName)
						&& ftpDestiny.remoteStoreUnique(fileName)) {
					// if(ftp1.remoteRetrieve(file1) && ftp2.remoteStore(file2)) {
					// We have to fetch the positive completion reply.
					ftpSource.completePendingCommand();
					ftpDestiny.completePendingCommand();
					response.setResponseCode(ResponseCode.SUCCESS_CODE);
					System.out.println("****response: "+response.getResponseCode());
				}
				
			} catch (IOException e) {
				response = util
				.createErrorResponse(
						FTPErrorId.ERROR_CALLING_COMMAND_COMPLETE_PENDING_COMMAND,
						FTPErrorType.REMOTE_COMMAND_EXECUTION_ERROR,
						FTPErrorId.ERROR_CALLING_COMMAND_COMPLETE_PENDING_COMMAND
								.getEnumName());
				logger.error("****Error at 595: "+e.getMessage());
			}

		}
		return response;
	}
Esta es la excepción que me arroja:

Código:
09:48:47,717 INFO  [STDOUT] Jul 16 09:48:47 ERROR [http-0.0.0.0-8080-2] util.ResponseUtil - ENTERING -- createErrorResponse
09:48:47,717 INFO  [STDOUT] Jul 16 09:48:47 ERROR [http-0.0.0.0-8080-2] util.ResponseUtil - ERROR-ID -- GENERIC_REMOTE_ERROR
09:48:47,717 INFO  [STDOUT] Jul 16 09:48:47 ERROR [http-0.0.0.0-8080-2] util.ResponseUtil - ERROR-TYPE -- REMOTE_COMMAND_EXECUTION_ERROR
09:48:47,717 INFO  [STDOUT] Jul 16 09:48:47 ERROR [http-0.0.0.0-8080-2] util.ResponseUtil - ERROR-DESCRIPTION -- Connection reset
09:48:47,733 INFO  [STDOUT] Jul 16 09:48:47 ERROR [http-0.0.0.0-8080-2] util.ResponseUtil - LEAVING -- createErrorResponse
09:48:47,733 INFO  [STDOUT] Jul 16 09:48:47 ERROR [http-0.0.0.0-8080-2] impl.CommonMethods - ****Error at 575: Connection reset
No tengo ni idea por qué está reseteandose la conexión ... Por favor, cualquier comentario será bienvenido. Gracias de antemano

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:30.