¿Cómo uso JCIFS con apache VFS para acceder a una URL de SMB?
Estoy tratando de acceder a una carpeta en mi computadora local usando una URL smb. mi proyecto está utilizando los archivos jar: commons-vfs2-2.0.jar y jcifs-1.3.17.jar (y todos los demás archivos jar necesarios). El código en su totalidad es:
public static void main(String[] args) throws FileSystemException {
jcifs.Config.registerSmbURLHandler();
StaticUserAuthenticator auth = new StaticUserAuthenticator(<domain>,<user>,<password>);
FileSystemOptions opts = new FileSystemOptions();
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
FileSystemManager fs = VFS.getManager();
FileObject smbFile = fs.resolveFile("smb://10.0.2.2/TimeOut/");
System.out.println(smbFile.exists() + " " + smbFile.getContent().getLastModifiedTime());
}
Estoy recibiendo la excepción:
Excepción en el hilo "main" org.apache.commons.vfs2.FileSystemException: No se pudo determinar el tipo de archivo "smb: //10.0.2.2/TimeOut". en org.apache.commons.vfs2.provider.AbstractFileObject.getType (AbstractFileObject.java:505) en org.apache.commons.vfs2.provider.AbstractFileObject.exists (AbstractFileObject.java:477) en com.news.tech .main (VfsTest.java:23) Causado por: jcifs.smb.SmbAuthException: Error de inicio de sesión: la cuenta actualmente está deshabilitada. at jcifs.smb.SmbTransport.checkStatus (SmbTransport.java:546) at jcifs.smb.SmbTransport.send (SmbTransport.java:663) at jcifs.smb.smbSession.sessionSetup (SmbSession.java:390) en jcifs.smb.smbSession.sessionSetup (SmbSession.java:390) en jcifs.smb.smbSession.sessionSetup (SmbSession.java:390) en jcifs.smb.smbSession.sessionSetup (SmbSession.java:390) SmbSession.send (SmbSession.java:218) en jcifs.smb.SmbTree.treeConnect (SmbTree.java:176) en jcifs.smb.SmbFile.doConnect (SmbFile.java:911) en jcifs.smb.SmbFile.connect (SmbFile.java:911) en jcifs.smb.SmbFile.connect (SmbFile.java:911) en jcifs.smb.SmbFile.connect (SmbFile.java:911) en jcifs.smb.SmbFile.connect (SmbFile.java:911) .java: 954) en jcifs.smb.SmbFile.connect0 (SmbFile.java:880) en jcifs.smb.SmbFile.open0 (SmbFile.java:972) en jcifs.smb.SmbFile.open (SmbFile.java:1006) at jcifs.smb.SmbFileInputStream. (SmbFileInputStream.java:73) at jcifs.smb.SmbFileInputStream. (SmbFileInputStream.java:65). vfs2.provider.url.UrlFileObject.doGetType (UrlFileObject.java:89) en org.apache.commons.vfs2.provider.AbstractFileObject.getType (AbstractFileObject.java:496)
De lo cual entiendo que la parte relevante es:Error de inicio de sesión: cuenta actualmente deshabilitada.
Esto es a pesar del hecho de que mi usuario / contraseña / dominio están bien y estoy haciendo exactamente lo que se define en la página de documentación de VFS.
¿Qué me estoy perdiendo?