Обе описанные системы - это Windows XP с Lotus Notes 8.5.
У меня есть приложение Java (пример кода ниже), которое использует notes.jar для взаимодействия с Lotus Notes. Приложение отлично работает в системе, в которой notes.ini
находится в каталоге установки Lotus c:\Program Files\Lotus\Notes
, а файл идентификатора пользователя находится в c:\Program Files\Lotus\Notes\Data
. Пользователь должен ввести пароль для входа в Lotus. В этой системе HKLM\Software\Lotus\Notes\MultiUser
установлено значение 0
(однопользовательская система). На этом компьютере приведенный ниже код отображает хорошие значения для четырех println
.
В проблемной системе это приложение печатает четыре заголовка, но для четырех значений остаются пробелы (имя пользователя, имя файла ключа, почтовый файл и почтовый сервер остаются пустыми). Эта проблемная система имеет notes.ini
, а файл идентификатора пользователя находится в D:\Data\johnsmith\NotesData
. Лотус установлен в C:\Program Files\Lotus\Notes
. Эта проблемная система также имеет HKLM\Software\Lotus\Notes\MultiUser
, установленное на 1
(подразумевая, что она многопользовательская, а не однопользовательская). Наконец, в диалоговом окне «Файл» Lotus -> «Безопасность» -> «Безопасность пользователя» установлен флажок «Вход в Notes с использованием входа в операционную систему» (чтобы пользователь не вводил пароль для входа в Lotus).
Итак, похоже, что в проблемной системе файл notes.ini
не может быть найден (поскольку notes.ini
- это то место, откуда должны считываться четыре выходных значения). Я просмотрел Notes.jar
API и не нашел способа указать местоположение notes.ini
. Каталог, в котором находится notes.ini
, находится в PATH
Windows_, но это не помогает.
Любая помощь будет оценена.
import java.io.*;
import lotus.domino.*;
public static void main(String[] args) throws IOException {
try {
NotesThread.sinitThread();
Session session = NotesFactory.createSession();
System.out.println("Common user name: " + session.getCommonUserName());
System.out.println("KeyFilename: " + session.getEnvironmentString("KeyFilename", true));
System.out.println("MailFile: " + session.getEnvironmentString("MailFile", true));
System.out.println("MailServer: " + session.getEnvironmentString("MailServer", true));
} catch (Exception ex) {
ex.printStackTrace();
} finally {
NotesThread.stermThread();
}
}