[
https://issues.apache.org/jira/browse/VFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Balakrishnan J updated VFS-592:
-------------------------------
Description:
FTP URI when connected with IPV6 machine always throws either of the following
1) 550 Failed to change directory to Remote Root Directory
2) org.apache.commons.vfs2.FileSystemException: Could not determine the type of
file
The code snippet :
-----------------------------
public void performFTP() throws IOException
{
FileObject rootDirFileObject;
FileSystemManager vfsManager = VFS.getManager();
UserAuthenticator auth = new StaticUserAuthenticator(null,
"ipv6test","Welcome6");
FileSystemOptions opts = new FileSystemOptions();
FtpFileSystemConfigBuilder.getInstance().setPassiveMode(opts, true);
FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, true);
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts,
auth);
rootDirFileObject =
m_FsManager.resolveFile("ftp://adc00pcf.us.oracle.com/abc", opts);
if(rootDirFileObject == null || !rootDirFileObject.exists()){
try {
throw new
Exception("ftp.connection.remote.path.does.not.exist");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
was:
FTP URI when connected with IPV6 machine always throws either of the following
1) 550 Failed to change directory to Remote Root Directory
2) org.apache.commons.vfs2.FileSystemException: Could not determine the type of
file
The code snippet :
-----------------------------
public FtpResult performScript(String pScript) throws IOException
{
FtpResult result=null;
// First verify that the Remote and Local Directories do exist
as directories
try {
//FileObject remoteRootDir = resolveDir(remoteDir);
FileObject remoteRootDir =
m_FsManager.resolveFile("ftp://adc00pcf.us.oracle.com/abc", m_SrcTargetOptions);
if (remoteRootDir.getType()!=FileType.FOLDER) {
String msg =
resfunction.getString("FTP.550FailedToChangeDirectoryToRemoteRoot").replaceAll("\\{0\\}",
remoteDir);
ftpTrace = handleActionMessage(msg, lineNumber);
if (m_stopFTPOnError)
return new FtpResult(Status.ERROR,
ftpTrace);
}
}
catch (FileSystemException fsx) {
final Writer exWriter = new StringWriter();
fsx.printStackTrace(new PrintWriter(exWriter));
ftpTrace = exWriter.toString();
AgentLogger.log(Level.INFO, "Validate RemoteDirectory
raised ", fsx);
return new FtpResult(Status.ERROR, ftpTrace);
}
try {
FileObject localRootDir =
m_FsManager.resolveFile(m_SchemeLocalDir);
if (localRootDir.getType()!=FileType.FOLDER) {
String msg =
resfunction.getString("FTP.550FailedToChangeDirectoryToLocalRoot").replaceAll("\\{0\\}",
m_SchemeLocalDir);
ftpTrace = handleActionMessage(msg, lineNumber);
if (m_stopFTPOnError)
return new FtpResult(Status.ERROR,
ftpTrace);
}
}
catch (FileSystemException fsx) {
ftpTrace =
handleActionMessage(resfunction.getString("FTP.550FailedToChangeDirectoryToLocalRoot"),
lineNumber);
ftpTrace += fsx.getLocalizedMessage();
AgentLogger.log(Level.FINE, "Validate LocalDirectory
raised ", fsx);
if (m_stopFTPOnError)
return new FtpResult(Status.ERROR, ftpTrace);
}
FileObject fileToRename=null;
BufferedReader cmdReader = new BufferedReader(new
StringReader(pScript));
try {
// MKD aa succeeds if aa does not exist
// MKD aa/bb succeeds if aa does exist;
fails if aa does not exist
// MKD ./aa created /tmp/./aa
actionMessage =
resfunction.getString("FTP.550CreateDirectoryOperationFailed");
FileObject newDir =
resolveFile(getRemoteDir(relativeDir), "mynewdir");
if (!newDir.exists())
{
newDir.createFolder();
if (newDir.exists())
actionMessage =
resfunction.getString("FTP.257DirectoryCreated").replaceAll("\\{0\\}",
handleProtocol(newDir));
}
}
}
catch (Exception ex) {
AgentLogger.log(Level.FINE, "FTP Cmd="+cmd, ex);
} // end of processing the command
}
return result;
}
> ftp IPV6 URI always throws 550 Failed to change directory to Remote Root
> Directory
> ----------------------------------------------------------------------------------
>
> Key: VFS-592
> URL: https://issues.apache.org/jira/browse/VFS-592
> Project: Commons VFS
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Balakrishnan J
> Priority: Critical
>
> FTP URI when connected with IPV6 machine always throws either of the
> following
> 1) 550 Failed to change directory to Remote Root Directory
> 2) org.apache.commons.vfs2.FileSystemException: Could not determine the type
> of file
> The code snippet :
> -----------------------------
> public void performFTP() throws IOException
> {
> FileObject rootDirFileObject;
>
> FileSystemManager vfsManager = VFS.getManager();
> UserAuthenticator auth = new StaticUserAuthenticator(null,
> "ipv6test","Welcome6");
> FileSystemOptions opts = new FileSystemOptions();
> FtpFileSystemConfigBuilder.getInstance().setPassiveMode(opts, true);
> FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, true);
>
>
> DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
> rootDirFileObject =
> m_FsManager.resolveFile("ftp://adc00pcf.us.oracle.com/abc", opts);
>
> if(rootDirFileObject == null || !rootDirFileObject.exists()){
> try {
> throw new
> Exception("ftp.connection.remote.path.does.not.exist");
> } catch (Exception e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> }
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)