Autor Thema: Mit Java auf nsf Dateien zugreifen!  (Gelesen 4399 mal)

Offline peppi

  • Frischling
  • *
  • Beiträge: 11
  • Live is to short!
Mit Java auf nsf Dateien zugreifen!
« am: 06.09.04 - 15:34:55 »
Hallo zusammen,

ich möchte mit einem Java-Programm auf einen Lotus Domino Server zugreifen. Dabei möchte ich die Betreffzeile aller mails aus meiner Inbox in eine Liste schreiben.
Weiterhin interessiert mich, wie bereits gelesene mails auf dem Dominoserver gekennzeichnet werden.

Wäre schön, wenn mir jemand weiterhelfen könnte!

Danke!

Peppi

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #1 am: 06.09.04 - 17:52:48 »
Das Thema "Java / CORBA classes" der DesignerHelp beginnt mit den Worten
Zitat
You can call the Domino Objects from a Java program by importing the lotus.domino package. The program can be coded as an application, a Domino agent, an applet, or a servlet.

Da Du Dich für Dein Ziel sowohl mit Java als auch mit den Notes classes auskennen musst, wäre die DesignerHelp schon mal eine wertvolle Anlaufstation (mit sehr vielen Beispielen, auch in java).

Zu Deiner zweiten Frage: Notes verwaltet diese Information absolut intern und von aussen (mit Bordmitteln) nicht beeinflussbar.

HTH,
Bernhard

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #2 am: 06.09.04 - 18:52:10 »

Zu Deiner zweiten Frage: Notes verwaltet diese Information absolut intern und von aussen (mit Bordmitteln) nicht beeinflussbar.

Seh ich auch so. Das ist ein sehr gutes Totschlag-Argument gegen deine Projektidee.

Was verstehst du unter einer Liste?
Vermute mal das ist eine Datei.
Wie das geht, steht in Kapitel 18 des Handbuchs der Javaprogrammierung (3. Aufl.) umsonst bei (http://www.javabuch.de).

Ansonsten ist Java überhaupt nicht umsonst und hat eine steile Lernkurve.
Einsteigern (deine Frage sieht so aus) würde ich immer raten, sich über Microsoft.NET Gedanken zu machen, weil es vermutlich:
a) weniger crazy, weil in Hand 1 Firma und nicht von einer Horde von Leuten ist, die immer zwischen Anarchie und Business pendeln (was natürlich auf der anderen Seite total faszinierend, internet-sozial, intelektuell, interkulturell und vielleicht sogar spassmässig  anregend sowie moralisch korrekt ist).
b) gibt dafür noch nicht so viele echte Gurus (zu denen ich leider nicht zähle).
 
Für den Einstieg in Java gibt es IMHO 2 Wege:
a) beginne ein Informatikstudium (hab ich auch nie gemacht)
b) mache die Java Zertifizierung und versuche dich dabei und danach mit Hilfe von so Sachen wie http://www.javaranch.com durchzuschlagen.
Nein. Darunter geht es nicht. Das sind alles halbe Sachen.

Wie Bernhard bereits gesagt hat, gibt es für die Domino Aufgaben spezifische Domino Klassen, die du in der Hilfe findest.

Gruß Axel



Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #3 am: 06.09.04 - 19:01:19 »
... sich über Microsoft.NET Gedanken zu machen, weil es vermutlich:
a) weniger crazy, weil in Hand 1 Firma und nicht von einer Horde von Leuten ist, die immer zwischen Anarchie und Business pendeln (was natürlich auf der anderen Seite total faszinierend, internet-sozial, intelektuell, interkulturell und vielleicht sogar spassmässig  anregend sowie moralisch korrekt ist).

Das ist auf den Punkt gebracht, Axel ! Ich würde ja auch gerne (so in open source projects mitmischen), wenn ich nicht ...

Wir sollten mal abwarten, ob
- "pippo" sich nochmal meldet
- und ob er bereits Ahnung von Notes oder Java hat (beides zusammen hat er ja nicht. Wenn dem aber so sein sollte, dann kann er seine Idee sowieso vergessen).

Wenn er mit Java schon Erfahrun(en) hat, dann steht im noch der Lernprozess für Notes bevor  ;)

Bernhard
« Letzte Änderung: 06.09.04 - 20:47:45 von koehlerbv »

Glombi

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #4 am: 06.09.04 - 20:31:07 »
Zitat
nicht von einer Horde von Leuten ist, die immer zwischen Anarchie und Business pendeln (was natürlich auf der anderen Seite total faszinierend, internet-sozial, intelektuell, interkulturell und vielleicht sogar spassmässig  anregend sowie moralisch korrekt ist).
Du meinst jetzt aber nicht die Leute von Sun, oder  ;D

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #5 am: 07.09.04 - 08:29:20 »
Ui. Da hab ich mir aber ein Eigentor geschossen.

Das ist auf den Punkt gebracht, Axel ! Ich würde ja auch gerne (so in open source projects mitmischen), wenn ich nicht ...
Weder du noch ich besitzen die Fähigkeiten und Kenntnisse, um in wichtigen openSource Projekten "mitzumischen".

Der Trick besteht sowieso darin, openSource zu nutzen und da nicht selbst mitzuarbeiten.

Anarchistisch sind auch weniger die Leute selbst. Das sind hochseriöse, motivierte und gutausgebildete Leute.
Es ist eher das gesamte Feld. Als newbie kann man auf Grund der Vielzahl der Protagonisten einfach nicht überblicken, was Zukunft hat und was nicht.
Wo gelogen wird und wo die Wahrheit gesagt wird.  

Übrigens sind mir Leute, die eine gewissen Meinungspluralismus unterstützen lieber als unser furchtloser Führer Ed, der gestern in seinem liebenswerten Webblog Kommentare von Heini Schwammerl und mir gelöscht hat.

Gruß Axel

Gruß Axel  
« Letzte Änderung: 07.09.04 - 08:31:14 von Marinero Atlántico »

Offline peppi

  • Frischling
  • *
  • Beiträge: 11
  • Live is to short!
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #6 am: 07.09.04 - 08:30:33 »
Hallo!

Ich danke euch erst mal für euer Interesse.

Um die Situation etwas aufzuklären. Ich hab vor etwa einem Jahr angefangen mich nebenbei ein bisschen mit Java zu beschäftigen. Bin aber noch nicht so sattelfest! Mit Lotus habe ich erst seit etwa 6 Wochen zu tun.
In einem Projekt versuche ich mittels eines Java-Programms auf die Mail Inbox zuzugreifen und die Betreffzeilen meiner neuen mails auszulesen. Diese sollen dann in eine Liste (Typ ArrayList) geschrieben werden.

Weiterhin würde mich interessieren wie die mails im Domino als gelesen gekennzeichnet werden. In meinem angehängten Programmfragment habe ich jetzt einfach mal eine Variable eingesetzt die dann durch das jeweilige Kennzeichen aus Domino ersetzt werden.


Ich habe mal meinen Quelltext mal angehängt:

import java.util.*;
import lotus.domino.*;

public class Domino extends NotesThread {

  public static void main(String args[]) {
    Domino dominoObject = new Domino();
    /*.start() um einen neuen Thread zu öffnen, damit Notes und das Javaprog sich
    nicht auf die Füße tritt, dabei wird die Funktion runNotes überschrieben*/
    dominoObject.start();
  }

  public void runNotes() {
    String title;
    ArrayList subjectlist = new ArrayList();
    try {
      Session s = NotesFactory.createSessionWithFullAccess();

      Database db = s.getDatabase("Testserver", "names.nsf",false);
      //Ansicht des Ordners Inbox
      View v = db.getView("($Inbox)");
      Document doc = v.getFirstDocument();


      int gelesenFlag = 0;

      //auslesen aller ungelesener Betreffzeilen und in Liste schreiben
      while (doc != null) {
        if (gelesenFlag == 1) { //1 ungelesen (neu)
          title = doc.getItemValueString("Subject");
          subjectlist.add(title);
        }
        doc = v.getNextDocument(doc);
     }

    }
    catch (Exception e) {
      e.printStackTrace();
      System.out.println("Lotus Fehler");
    }
  }
}

Mein Problem ist, dass beim Compilieren die Klasse runNotes() irgendwie nicht überschieben werden kann. (java.lang.UnsatisfiedLinkError)

Ich hoffe meine Erklärung hilft weiter.

Peppi

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #7 am: 07.09.04 - 08:45:41 »

Mein Problem ist, dass beim Compilieren die Klasse runNotes() irgendwie nicht überschieben werden kann. (java.lang.UnsatisfiedLinkError)

Vermutlich hast du dich verschrieben, aber runNotes ist keine Klasse sondern eindeutig eine public Methode.
UnsatisfiedLink Error dürfte auch eher was damit zu tun haben, dass die JNI Implementierung nicht die richtigen libraries findet.
Versuch mal das Notes Programm Verzeichnis in die Path Variable deines OS aufzunehmen und starte das Programm neu.

Gruß Axel

Offline peppi

  • Frischling
  • *
  • Beiträge: 11
  • Live is to short!
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #8 am: 07.09.04 - 08:52:22 »
OK! Ich meine die Methode  ;) Es ist ja auch noch früh am morgen!

Ich hab die das Notes Verzeichnis eingegeben (..\programme\lotus\notes) oder muss ich das Verzecihnis von Domino in die path Variable eintragen?

MfG

Peppi

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #9 am: 07.09.04 - 08:53:09 »
wie Dir bereits zweimal gesagt wurde, ist die Ungelesenen- Markierung NICHT extern abzurufen. Diese Info wird ausschliesslich intern gehandelt und kann nicht abgefragt werden....

Die einzige Möglichkeit für Dich, das nachzubauen, wäre eine eigene UNID- Liste der Dokumente zu führen, die Du bereits abgeholt hast... Aber den Aufwand würde ich nicht treiben. Ganz abgesehen von der Gefahr, hier ständig asynchron mit den ungelesenen- Markierungen im Notes zu laufen...

Also: Du kannst Dein Programm zum laufen bringen, musst aber IMMER alle Dokumente in der Inbox anzeigen, auf ungelesene hast Du KEINEN Zugriff...

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #10 am: 07.09.04 - 09:02:16 »
OK! Ich meine die Methode  ;) Es ist ja auch noch früh am morgen!
Normal. Ich könnte dir Sachen von mir um Mittag erzählen...

Ich hab die das Notes Verzeichnis eingegeben (..\programme\lotus\notes) oder muss ich das Verzecihnis von Domino in die path Variable eintragen?
Das Programmverzeichnis des Clients. Ist also richtig.

Offline peppi

  • Frischling
  • *
  • Beiträge: 11
  • Live is to short!
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #11 am: 07.09.04 - 09:50:38 »
Ich hab den Pfad in die path Variable eingetragen. Trotzdem kommt noch die Fehlermeldung (java.lang.UnsatisfiedLinkError).  ???

MfG

Peppi

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #12 am: 07.09.04 - 09:54:31 »
du mußt danach das cmd Fenster nochmal neu aufmachen.
Falls das immer noch nicht funktioniert, poste bitte den gesamten stacktrace.

Offline peppi

  • Frischling
  • *
  • Beiträge: 11
  • Live is to short!
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #13 am: 07.09.04 - 10:16:54 »
Ich hab alles neu gestartet, es geht leider immer noch nicht!  :(

Hier mein Stacktrace:

C:\Programme\JBuilderX\jdk1.4\bin\javaw -classpath "O:\Java Projects\Projekt Sirius\Umsetzung\Sirius\test_domino\classes;O:\Java Projects\Projekt Sirius\Umsetzung\Sirius\test_domino\lib\Notes.jar;C:\Programme\JBuilderX\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;C:\Programme\JBuilderX\jdk1.4\demo
\plugin\jfc\Java2D\Java2Demo.jar;C:\Programme\JBuilderX\jdk1.4\jre\javaws\javaws.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\charsets.jar;C:\Programme\
JBuilderX\jdk1.4\jre\lib\ext\dnsns.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\ext\ldapsec.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\ext\localedata.jar;
C:\Programme\JBuilderX\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\im\indicim.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\im\thaiim.jar;
C:\Programme\JBuilderX\jdk1.4\jre\lib\jce.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\jsse.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\plugin.jar;C:\Programme\JBuilderX\jdk1.4\jre\lib\rt.jar;
C:\Programme\JBuilderX\jdk1.4\jre\lib\sunrsasign.jar;C:\Programme\JBuilderX\jdk1.4\lib\dt.jar;C:\Programme\JBuilderX\jdk1.4\lib\htmlconverter.jar;C:\Programme\JBuilderX\jdk1.4\lib\tools.jar"  test_domino.Domino
java.lang.UnsatisfiedLinkError: no nlsxbe in java.library.path

   at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)

   at java.lang.Runtime.loadLibrary0(Runtime.java:788)

   at java.lang.System.loadLibrary(System.java:834)

   at lotus.domino.NotesThread.load(NotesThread.java:306)

   at lotus.domino.NotesThread.checkLoaded(NotesThread.java:327)

   at lotus.domino.NotesThread.initThread(NotesThread.java:147)

   at lotus.domino.NotesThread.run(NotesThread.java:209)
« Letzte Änderung: 07.09.04 - 10:18:37 von peppi »

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #14 am: 07.09.04 - 10:18:07 »
das Problem hatte ich glaube ich auch schon mal. hab noch einen Link dazu. Vielleicht hilfts
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #15 am: 07.09.04 - 10:44:51 »
Code
java.lang.UnsatisfiedLinkError: no nlsxbe in java.library.path
Und diese dll liegt eben im Notes Programmverzeichnis.
Deshalb muss es in der Path Variable des OS stehen und dies muss der VM noch bekann sein.

Kenn mich mit JBuilder nicht aus, aber Eclipse cached zum Bleistift die Path Einstellungen beim Hochfahren. Danach gemachte Änderungen wirken sich nicht auf Eclipse aus. Deshalb muss man es noch mal neu starten, damit diese neue Path Variable der Eclipse VM auch bekannt ist.
Vielleicht geht das mit JBuilder auch so. Ich würd einfach den ganzen Rechner noch mal runter und hoch fahren.
Es gibt auch Möglichkeiten dem Programmaufruf Verweise auf vom Programm ausführbare Libraries mitzugeben. Aber das kann ich auch nur für Eclipse.

Gruß Axel

Offline peppi

  • Frischling
  • *
  • Beiträge: 11
  • Live is to short!
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #16 am: 07.09.04 - 10:57:24 »
Ich hab die Datein kopiert und umbenannt! Jetzt habe ich endlich eine Verbindung zum Server! War nach dem Neustarten von JBuilder kein Problem!

Vielen Dank!

Peppi

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #17 am: 07.09.04 - 10:58:23 »
Übrigens sind mir Leute, die eine gewissen Meinungspluralismus unterstützen lieber als unser furchtloser Führer Ed, der gestern in seinem liebenswerten Webblog Kommentare von Heini Schwammerl und mir gelöscht hat.

Meins du http://www.edbrill.com/ebrill/edbrill.nsf/dx/08272004043121PMEBRT96.htm?opendocument&comments#anc1 das hier oder http://www.edbrill.com/ebrill/edbrill.nsf/dx/09032004080000AMEBRH9K.htm?opendocument&comments#anc1 das hier. Sorry aber sowohl Heini's wie auch deine Beiträge sind hier immer noch zu finden.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Marinero Atlántico

  • Gast
Re:Mit Java auf nsf Dateien zugreifen!
« Antwort #18 am: 07.09.04 - 12:46:40 »
Ich meinte das Zweite.
schwöre es war gestern zwischenzeitlich gelöscht.
Werde dazu noch was sagen (bei Herrn Brill).


 

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz