Я пытаюсь использовать Apache VFS для чтения файлов внутри SharePoint 2013, установленных как сетевой диск. Я использую следующий кодПроверка подлинности NTLM с помощью Apache VFS
try {
StandardFileSystemManager manager = new StandardFileSystemManager();
manager.addProvider("http", new WebdavFileProvider());
manager.setCacheStrategy(CacheStrategy.ON_CALL);
manager.setFilesCache(new SoftRefFilesCache());
FileObject fileObject = manager.resolveFile("http://sp2013w2k12r2/PuneetsLibrary/");
System.out.println(fileObject.getFileSystem().hasCapability(Capability.LIST_CHILDREN));
System.out.println(fileObject.isFolder());
} catch (FileSystemException e) {
e.printStackTrace();
}
но я получаю следующую ошибку
org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme INFO: NTLM схема аутентификации выбран Авг 03, 2016 5: 29:55 org.apache.commons.httpclient.HttpMethodDirector processWWWAuthChallenge INFO: Нет доступных учетных данных для NTLM @ sp2013w2k12r2: 80 org.apache.commons.vfs2.FileSystemException: Не удалось определить тип файла «http://sp2013w2k12r2/PuneetsLibrary». at org.apache.commons.vfs2.provider.AbstractFileObject.getType (AbstractFileObject.java:1526) at org.apache.commons.vfs2.provider.AbstractFileObject.isFolder (AbstractFileObject.java:1726) at org.apache. commons.vfs2.impl.DecoratedFileObject.isFolder (DecoratedFileObject.java:211) в SharePointVFSMain.main (SharePointVFSMain.java:18) Вызвано: org.apache.commons.vfs2.FileSystemException: Неизвестное сообщение с кодом «Неавторизованный». на org.apache.commons.vfs2.provider.webdav.ExceptionConverter.generate (ExceptionConverter.java:88) на org.apache.commons.vfs2.provider.webdav.ExceptionConverter.generate (ExceptionConverter.java:41) at org.apache.commons.vfs2.provider.webdav.WebdavFileObject.execute (WebdavFileObject.java:594) на org.apache.commons.vfs2.provider.webdav.WebdavFileObject.getProperties (WebdavFileObject.java:632) at org. apache.commons.vfs2.provider.webdav.WebdavFileObject.getProperties (WebdavFileObject.java:620) на org.apache.commons.vfs2.provider.webdav.WebdavFileObject.getProperty (WebdavFileObject.java:664) at org.apache. commons.vfs2.provider.webdav.WebdavFileObject.getProperty (WebdavFileObject.java:671) по адресу org.apache.commons.vfs2.provider.webdav. WebdavFileObject.isDirectory (WebdavFileObject.java:716) на org.apache.commons.vfs2.provider.webdav.WebdavFileObject.doGetType (WebdavFileObject.java:405) на org.apache.commons.vfs2.provider.AbstractFileObject.getType (AbstractFileObject.java:1517) ... 3 еще