cmis 1.0 호환 서버에 대해 openCMIS 라이브러리를 사용하고 있는데 서버에서 getRepositories를 호출 할 때마다 (alfresco v3.2 & v5.0 서버) 하나의 저장소가있는 목록 만 수신합니다. 예상 했었습니다. 즉, 서버의 루트 목록입니다. opencmis 라이브러리를 사용하여 저장소 루트 목록을 검색하려면 어떻게합니까?
편집
나는 부적절하게 질문을 표현 했으므로 나는 더 잘 설명 할 것이다. 내가하고 싶은 무엇
는 하지는 내가 API에 대해 그것을 활용할 수 있도록 root folder id
, 그것은 직접 아이들이 즉의 검 (예를 들어 야외에서 즉은 store_root) 실제 repository root id
을 얻을 수있을 것입니다 루트 폴더와 동일한 계층 구조의 개체 (회사 홈, 야외)CMIS 저장소에서 '저장소 루트'id/children을 검색하는 방법은 무엇입니까?
답변
Alfresco에는 저장소가 하나뿐이므로보고있는 내용이 정확합니다.
루트 폴더 (회사 홈)를 얻는 방법을 이해하고 루트 폴더의 자식을 얻는 방법은 here을 참조하십시오. 만 당신에게
도움이Folder folder = session.getRootFolder();
희망을 사용
private static Session getSession(String serverUrl, String username, String password) {
SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
Map<String, String> params = new HashMap<>();
params.put(SessionParameter.USER, username);
params.put(SessionParameter.PASSWORD, password);
params.put(SessionParameter.ATOMPUB_URL, serverUrl);
params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
List<Repository> repos = sessionFactory.getRepositories(params);
if (repos.isEmpty()) {
throw new RuntimeException("Server has no repositories!");
}
return repos.get(0).createSession();
}
후 : 먼저 세션을 생성하고이 함께 연결해야합니다 : 내가 그것을 테스트하기위한
아하 네 말이 맞아. 회사 홈과 같은 수준에있는 다른 모든 객체는 저장소 루트라고 가정했지만 실제로 필요한 것은 store_Root 객체를 가져올 수있는 것입니다. –
그 정보로 내 대답을 업데이트했습니다. –
더 나은 명확성을 위해 질문을 편집했습니다. 이미 루트 폴더 ID를 얻을 수는 있지만 필요한 루트 ID는 repo가 아닙니다. –
그것에 관한 피드백?!? –
store_root 객체 자체를 가져올 수없는 것처럼 보일 수 있습니다. –
마녀 언어를 사용 하시겠습니까?!? –
@ YagamiLight Java로 작업하고 있습니다. 실제로 nodeRef 또는 'store_root'객체를 가져와야합니다. –
저장소의 하위 항목을 가져 오시겠습니까? –