Как получить список всех имен репозитория на сервере documentum
Я пытаюсь создать динамическое приложение, используя dfc, в котором я хочу получить все имена хранилищ, которые существуют на сервере.
Например, если есть 3 хранилища, то есть r1, r2 и r3. Как я могу получить имена в моей программе?
3 ответа
В DFC вы можете получить список таких репозиториев:
IDfDocbaseMap docbaseMap = DfClient.getLocalClient().getDocbaseMap();
for (int i = 0; i < docbaseMap.getDocbaseCount(); i++) {
processRepository(docbaseMap.getDocbaseId(i),
docbaseMap.getDocbaseName(i);
docbaseMap.getDocbaseDescription(i));
}
Но это список репозиториев, зарегистрированных в Docbroker, где каждый репозиторий может работать на своем сервере.
Я боюсь, что без сессии для каждого хранилища вы не сможете отфильтровать их по серверам. С сеансом вы можете сделать это, например:
((StrongSessionHandle) session).getDocbaseConnection().getServer().getName()
или же
session.getServerConfig().getString("object_name")
Вы должны попросить докер-брокера получить список известных баз документов. См. DFC документы для информации об этом. Вы также можете получить имена серверов для каждой базы документов, но нет способа обойтись без посредников, если вы хотите использовать DFC. Обратите внимание, что базы документов могут находиться на других серверах, кроме докер-брокера.
Вы можете развернуть службы Documentum Restful и указать имена серверов в качестве хоста в файле свойств Restful DFC, он даст вам ответ XMl/JSON по следующему URL -
Ответ XMl - URL/DctmRest/ репозитории
Ответ JSON - URL/DctmRest/repositories.json