У меня есть требование добавить членов группы в IBM Domino Group с помощью java-кода. Я использую Notes.jar для подключения к IBM Domino v9.0, а мой java-код работает на другой машине, а затем на машине Domino. Из документации Domino я узнал, что для добавления члена в группу должен использоваться класс "AdministrationProcess". Но когда я пытаюсь создать объект "AdministrationProcess", вызывается session.createAdministrationProcess("IBMDominoServer"). Я получаю ошибку Ограниченная операция на сервере.
Мой тестовый код выглядит следующим образом
public class LotusDomino{
public static void main(String args[]) throws Exception{
String[] argv = {"192.168.2.111","Administrator","<password>"};
deleteUser(argv[0], argv[1], argv[2]);
}
private static void deleteUser(String host, String userName, String password) throws Exception{
Session s = NotesFactory.createSession(host, userName, password);
try{
AdministrationProcess process = s.createAdministrationProcess("IBMDominoServer.xanadufinancials.com");
}catch(NotesException e){
System.err.println("exception --- "+e.id+":"+e.text+":"+e.internal); // this prints the following error : exception --- 4183:Restricted operation on a server:null
}
}
Код показывает ту же ошибку, независимо от того, что я передаю в качестве имени сервера. Поэтому это не должно быть проблемой кода. Я немного поработал над этим и узнал, что администратор должен иметь доступ к редактору на admin4.nsf. Проверьте доступ к нему.
Пожалуйста, дайте мне знать, в чем проблема. Заранее спасибо.
Использование процесса администрирования - один из способов добавить пользователя в группу, и это самый безопасный способ, когда вы не знаете, как настроены службы каталогов на сервере Domino. Но в большинстве базовых конфигураций добавление пользователя в группу очень просто. Вы открываете базу данных names.nsf, открываете представление "Группы", находите документ для группы и добавляете имя в список, хранящийся в элементе "Участники". Единственный улов в том, что если список членов слишком длинный, вам, возможно, придется написать код, который способен разделить его на подгруппы (и/или код, чтобы обнаружить шаблон существующих подгрупп и добавить к ним вместо этого).
Что касается использования класса NotesAdministrationProcess, если мы можем доверять тому, что сообщение об ошибке означает, что это означает, значит, ваша проблема заключается в том, что идентификатор пользователя, который вы используете, не имеет разрешения на выполнение ограниченных операций на сервере. Вот ссылка на информацию о конфигурации сервера для разрешений агента. Если вы используете NCSO.jar (см. Мой вопрос выше), тогда создайте отдельную конфигурацию для пользователей, которым разрешено выполнять ограниченные операции над IIOP, но я не уверен, и мой сервер в данный момент недоступен, поэтому я не могу проверить,