Autor Thema: XPage - Maildatenbank  (Gelesen 5751 mal)

Offline AleX_-_

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
XPage - Maildatenbank
« 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  :)

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: XPage - Maildatenbank
« Antwort #1 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
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline AleX_-_

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: XPage - Maildatenbank
« Antwort #2 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.

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: XPage - Maildatenbank
« Antwort #3 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 "";
}
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: XPage - Maildatenbank
« Antwort #4 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!!!";
}
}
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: XPage - Maildatenbank
« Antwort #5 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);
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: XPage - Maildatenbank
« Antwort #6 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
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz