Обе описанные системы - 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
. Lotus установлен в 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
, находится в Windows PATH
, но это не помогает.
Любая помощь будет оценена.
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();
}
}