Domino 9 und frühere Versionen > ND8: Entwicklung

Notes Mail (mit Java) aus gespeicherter Datenbank öffnen

<< < (2/3) > >>

Ralf_M_Petter:
M3 hat dir doch die Lösung schon gesagt, du musst einen Link mit "notes://..." aufbauen und dann diesen einfach aufrufen. Wenn dein Notes richtig installiert ist, wird es die URL öffnen und die Mail anzeigen. Funktioniert bei mir einwandfrei. Wo hast du noch Probleme, bzw. Poste einfach mal deinen Code in dem du das Mail öffnest dann kann man sicher besser helfen.

Grüße

Ralf

masher:
Jetzt hab ich mir so einen Notes-Link zusammengebastelt.... bei der Ausführung wird jedoch nicht die Mail-Ansicht (die ja das Doc ist) geöffnet, sondern das gesamte Postfach. Und dabei wird auch die geöffnete Mail nicht angezeigt. Stimmt da jetzt was mit der Form oder sonstigen Einstellungen an der Datenbank nicht?

Ralf_M_Petter:
Wie wäre es wenn du mal die Notes URL postest.

Grüße

Ralf

masher:
Wenn die URL hilft, gerne:

--- Code: ---notes:///MailContainer.nsf/0/C12577F5003BE607C12577E500404908?OpenDocument
--- Ende Code ---

Hier der Quelltext, mit dem ich versuche das Ganze umzusetzen:

--- Code: --- NotesThread.sinitThread();
Session nSessLocal = NotesFactory.createSessionWithFullAccess();

// Load database with mail which should be displayed
Database currentMailDb = nSessLocal.getDatabase(null, unzippedMailPath, false);
if (!currentMailDb.isOpen()) {
currentMailDb.open();
}
Document mailDoc = currentMailDb.getAllDocuments().getLastDocument();
mailDoc.replaceItemValue("LotusNotesForm", "Memo");
mailDoc.save();

// Get database where the document should be copied in
Database showMailDb = nSessLocal.getDatabase(null, "C:\\temp\\MailContainer.nsf", true);
if (!showMailDb.isOpen()) {
showMailDb.open();
        }
// delete all previous inserted documents
showMailDb.getAllDocuments().removeAll(true);

mailDoc.copyToDatabase(showMailDb);

String urlstring = "notes://" + showMailDb.getServer() + "/" + showMailDb.getFileName() +"/0/" + mailDoc.getUniversalID()+"?OpenDocument";
URL url = new URL(urlstring);
Desktop.browse(url);

NotesThread.stermThread();

--- Ende Code ---

Ralf_M_Petter:
Ich denke mal dein Notesurl ist falsch. Du musst dir das auch gar nicht selber zusammenbauen.

ein Einfaches mailDoc.getNotesURL() sollte dir das richtige URL geben.


Wobei meiner Meinung nach hast du auch noch einen Fehler bei der mailDoc.copyToDabase(showMailDb)

Die Zeile sollte eigentlich
mailDoc=maiDoc.copyToDatabase(showMailDb); lauten.

Sonst hast du in mailDoc noch immer dein nicht kopiertes Mail. Das wird ziemlich sicher der Grund sein, warum es nicht funktioniert. Übrigens hoffe ich mal, dass du den Code nicht wirklich so laufen lässt. Den ohne Errorhandling und zuverlässigen Abschluss des NotesThread wird dein Client sicher ab und zu abstürzen.

Grüße

Ralf



Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln