Notes Session im Windows Service

  • Hallo,
    ich habe eine kleine Anwendung zum erstellen von Kalendereinträgen geschrieben. Diese Funktioniert mittlerweile wunderbar.


    Jetzt wollte ich das ganze bei geschlossenem Notes-Client machen, was solange Funktioniert, wie kein anderer sich auf dem Client angemeldet hat. (Notes.ini darf nicht geändert sein).


    Jetzt dacht ich mir, das eine offene GUI auf einem Server ist doch bescheuert. Also habe ich mir schnell einen kleinen Service mit Timer geschrieben. Der Funktioniert an sich auch. Melde ich mich aber am Server ab, kann keine Verbindung mehr zum Domino Server hergestellt werden.



    // Verbindung zur Lotus Notes Mail-Datenbank herstellen
    notesSession = new Domino.NotesSession();
    notesSession.Initialize(Setting.NotesSyncUserPassword);
    notesDatabase =notesSession.GetDatabase(_dominoServerName, _notesMailDatabase, false);


    if (notesDatabase != null)
    {
    ....
    }
    else
    {
    // RUMS, hier landet er, wenn ich mich abmelde
    }



    Gibts da eine Möglichkeit das ganze zu umgeben? oder muss man am System angemeldet sein?

  • So wie du es machst geht es nicht anders, da er da die Bibliotheken und Einstellungen des lokalen Clients verwendet:
    Existieren die nicht fällt er logischerweise auf die Schnauze.


    Die andere Variante ist es über DIIOP zu machen, dazu muß aber der ganze Verbindungsaufbau komplett anders geschehen und du musst Benutzer und Passwort selbst verwalten

  • okay, das würde bedeuten, das ich alles aus der client api umbauen muss?, nicht nur den verbindungsaufbau, sondern auch wie ich mir alle geänderten dokumente gebe, wie ich sie erstellte etc?

  • Nein, nur der Verbindungsaufbau und die Benutzer/Passwortverwaltung deines Programms muß umgebaut werden. Der Rest ist gleich, da es da keinen Unterschied zwischen Client API und DIIOP gibt

  • prima :)


    hast mir echt geholfen. Nur noch eine kleine Frage zum Verständnis


    Ich muss die User selbst verwalten. Brauche ich von jedem User das Password, oder reicht es aus, dass ein User zugriff auf die Maildatenbanken der anderen User hat.


    Gibt es für DIIOP eine dll (com) die ich von .NET ansrechen kann? meine ersten google Recherchen haben ergeben, das es nur unter Java geht.



    Gibt es ein Redbook mit einem Beispielm du hattest mir schonmal eins für Serientermine genannt, das war prima.

  • DIIOP ist Corba über IIOP beim Domino, d.h. alle Sprachen die das Nutzen können können das auch beim Domino nutzen.


    Klar kannst du auch mit einem einzigen Benutzer arbeiten, der Zugriff auf alles hat, aber mit Sicherheit ist es dann nichts mehr.
    Vor allem da man ja bei .NET Code genau wie bei Java Code das dann leicht aus dem Code extrahieren kann.


    Außerdem ist es dann nicht mehr nachvollziehbar wer wann was gemacht hat

  • das dies nicht mehr sicher ist, ist klar. aber das ist ein problem was schon mehrmals angesprochen wurde und keinen interessierte. ursprünglich wollte man einfach den admin und keinen expliziten user nehmen .... aber das ist ein andres thema.


    ich versteh das mit dem DIIOP nicht ganz, muss dafür im server entwas konfiguriert werden, weil dies möchte der kunde nicht. es soll quasi mit dem vorhandenen auskommen.

  • sag ich doch für com braucht man einen client, also fällt es ja raus, im moment habe ich es ja mit der com - klasse gelöst.



    in der designer hilfe steht, dass dies java - klassen sind, das macht mich so stutzig. hättest du evtl ein kleines beispiel, an dem man sich orientieren könnte.

  • okay ...


    public void NotesMain() {
    try {
    Session session = getSession();
    AgentContext agentContext =
    session.getAgentContext();
    // (Your code goes here)
    Database db =
    session.getDatabase("doc", "names");
    System.out.println(db.getTitle());
    } catch(Exception e) {
    e.printStackTrace();
    }
    }


    bin ich denn hier in der Hilfe richtig gelandet, ich finde das ist genau das selbe .... ich hab wohl tomaten auf den augen

  • danke, ich hatte gehofft esgibt was notes spezifisches. werd mich da jetzt mal durchwühlen.


    wäre die konfiguration des DIIOP auf dem Domino Server aufwendig für einen Notes Admin?