Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung - XPages => Thema gestartet von: AleX_-_ am 18.10.10 - 15:09:31

Titel: XPage - Maildatenbank
Beitrag von: AleX_-_ am 18.10.10 - 15:09:31
Hallo!
Ich möchte in der XPage den Pfad der MailDB des angemeldeten Users ermitteln. Wenn ich die XPage im NotesClient starte funktioniert das, im Browser funktioniert das leider nicht.

Code:
var localDir = session.getDbDirectory(session.getServerName());
var mail = localDir.openMailDatabase();
mail.getFilePath();

Fehlermeldung Browser:
Script interpreter error, line=2, col=21: [TypeError] Exception occurred calling method NotesDbDirectory.openMailDatabase() null

Kann mir jemand sagen woran das liegt?

Danke  :)
Titel: Re: XPage - Maildatenbank
Beitrag von: atbits am 18.10.10 - 15:46:13
Bist Du zu dem Zeitpunkt evtl. noch nicht angemeldet - du mußt vorher prüfen, ob Du Anonymous bist im Web. Im Notes-Client bist Du ja immer angemeldet ...

Grüße David
Titel: Re: XPage - Maildatenbank
Beitrag von: AleX_-_ am 18.10.10 - 16:09:05
Hallo David!

Ich bin zu diesem Zeitpunkt im Browser schon mit meinem Notesnamen angemeldet.
Es muss irgendein anderes Problem sein.
Titel: Re: XPage - Maildatenbank
Beitrag von: atbits am 18.10.10 - 16:17:36
Für mich sieht es aus, als wäre localDir null

prüfe doch mal mit ==null drauf ab

in etwa so (hab leider grade keine XPages Umgebung da ...

Code
var localDir:NotesDbDirectory = session.getDbDirectory(session.getServerName());
if(localDir!=null) {
  var mail:NotesDatabase = localDir.openMailDatabase();
  return mail.getFilePath();
} else {
  println("Mist");
  return "";
}
Titel: Re: XPage - Maildatenbank
Beitrag von: atbits am 18.10.10 - 16:39:07
Hm ich glaube NotesDBDirectory verhält sich da komisch ...

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.designer.domino.main.doc/H_EXAMPLES_OPENMAILDATABASE_METHOD_DBDIRECTORY_COM.html

So tut es, du könntest den mail-db-pfad aus dem personendokument holen.

Code
var localDir:NotesDbDirectory = session.getDbDirectory(DEINSERVERNAME);
if(localDir!=null) {
  //var mail:NotesDatabase = localDir.openMailDatabase();
  var mail:NotesDatabase = session.getDatabase(DEINSERVERNAME, DEINMAILDBNAME);
  return mail.getFilePath();
} else {
  println("Mist");
  return "FEHLER!!!";
}
}
Titel: Re: XPage - Maildatenbank
Beitrag von: eknori am 18.10.10 - 16:41:53
geht noch einfacher ( und funktioniert auch bei Directory Assistance )
Code
var mailfile = session.evaluate("@ReplaceSubstring(@NameLookup([Exhaustive];@UserName;'MailFile');'.nsf';'')").elementAt(0);
Titel: Re: XPage - Maildatenbank
Beitrag von: atbits am 18.10.10 - 16:44:47
Als Alternative hätte ich noch im Angebot auf eine Webmailredirect-DB zu verweisen, dann übernimmt die den Rest für Dich - auch serverübreifende ;-)

Grüße David