Les deux systèmes décrits sont Windows XP avec Lotus Notes 8.5.L'application Lotus Notes Java ne trouve pas notes.ini
J'ai une application Java (exemple de code ci-dessous) qui utilise notes.jar pour interagir avec Lotus Notes. L'application fonctionne correctement sur un système qui a notes.ini
dans le répertoire d'installation Lotus de c:\Program Files\Lotus\Notes
et le fichier ID utilisateur est dans c:\Program Files\Lotus\Notes\Data
. L'utilisateur doit taper un mot de passe pour se connecter à Lotus. Ce système a HKLM\Software\Lotus\Notes\MultiUser
défini sur 0
(système mono-utilisateur). Sur cette machine, le code ci-dessous affiche de bonnes valeurs sur les quatre println
.
Sur un système défectueux, cette application imprime les quatre en-têtes mais des espaces pour les quatre valeurs (le nom d'utilisateur, le nom de fichier de clé, le fichier de courrier et le serveur de courrier sont vides). Ce système de problème a notes.ini
et le fichier ID utilisateur dans D:\Data\johnsmith\NotesData
. Lotus est installé dans C:\Program Files\Lotus\Notes
. Ce système de problème a également HKLM\Software\Lotus\Notes\MultiUser
mis à 1
(ce qui implique qu'il est multi-utilisateur au lieu d'un seul utilisateur). Enfin, sous la boîte de dialogue Fichier -> Sécurité -> Sécurité de l'utilisateur, la case «Se connecter à Notes en utilisant votre système d'exploitation» est cochée (l'utilisateur ne tape pas de mot de passe pour se connecter à Lotus). Donc, il semble que sur le système de problème, le fichier notes.ini
ne peut pas être trouvé (puisque notes.ini
est l'endroit où les quatre valeurs de sortie sont censées être lues). J'ai regardé à travers l'API Notes.jar
et je ne vois aucun moyen de spécifier l'emplacement de notes.ini
. Le répertoire notes.ini
réside dans Windows PATH
, mais cela n'aide pas.
Toute aide serait appréciée.
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();
}
}
Ce sont de bonnes suggestions. Malheureusement, aucun d'eux n'a fonctionné. –