My open-source app загружает файлы в папку Alfresco (по CMIS).
Алгоритм очень прост: содержаниеCmisInvalidArgumentException при загрузке частной рабочей копии из Alfresco через CMIS
- Список папку с Folder.getChildren()
- Скачать каждый с Document.getContentStream()
Он отлично работает для папок, содержащих Working Copy файла за исключением того, в этом случае Альфреско говорит:
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: Stream id is invalid: workspace://SpacesStore/8b9a58ba-652f-4a18-8d26-aba06df98d25;pwc
at org.alfresco.opencmis.CMISConnector.getContentStream(CMISConnector.java:1199)
at org.alfresco.opencmis.AlfrescoCmisServiceImpl.getContentStream(AlfrescoCmisServiceImpl.java:1795)
at sun.reflect.GeneratedMethodAccessor700.invoke(Unknown Source)
;pwc
возможно м eans «Частная рабочая копия», что является особым случаем в протоколе CMIS. Рабочие копии создаются, когда пользователь Alfresco Share нажимает «Редактировать офлайн» на документе (также вы можете проверить/проверить).
Является ли мой алгоритм испорчен? Или это может быть ошибка в Alfresco/OpenCMIS?
Можете ли вы не просто отфильтровать рабочие копии и выполнять свою работу только через главный узел? – Gagravarr
@Gagravarr: Я думал об этом, но мне нужно скачать все, потому что эти файлы также могут понадобиться, я полагаю. Это также вызывает любопытство: тот факт, что загрузка разрешена клиентской библиотекой, по-видимому, подразумевает, что загрузка этих файлов также должна работать. –