Autor Thema: JAVA Agent  (Gelesen 6376 mal)

Offline arcon

  • Frischling
  • *
  • Beiträge: 47
  • Geschlecht: Männlich
  • Notes4Ever
JAVA Agent
« am: 04.12.03 - 14:51:16 »
Ich habe mit Eclips eine Progi geschrieben welches mir Daten
aus unserem LDAP Verzeichnis liefert.

Wenn ich nun dieses Script in einem Notes JAVA Agenten verwende bekomme
ich die Meldung das er die Class javax.naming.Context nicht findet  ???

Hier der Code aus Eclips:

package Ldap;

   import javax.naming.Context;
   import javax.naming.directory.InitialDirContext;
   import javax.naming.directory.DirContext;
   import javax.naming.directory.Attributes;
   import javax.naming.NamingException;
   import java.util.Hashtable;

public class ReadLdap {

   

   
     public static void main(String[] args) {
        // Provider
           System.out.println("Hashtabelle fuer Properties");
        Hashtable env = new Hashtable(11);
           System.out.println("INITIAL_CONTEXT_FACTORY : com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.INITIAL_CONTEXT_FACTORY,
            "com.sun.jndi.ldap.LdapCtxFactory");
           System.out.println("PROVIDER_URL : ldap://ldap.xxxxx.at");
        env.put(Context.PROVIDER_URL, "ldap://ldap.wuestenrot.at/uid=rxx,ou=personen,o=xxxxx,c=at");
           System.out.println("Context");
        try {
         // initialisieren des Contextes
            System.out.println("Initialisieren des Contextes");
         DirContext ctx = new InitialDirContext(env);
         // Attribute des Objektes abfragen
            System.out.println("Attribute abfragen");
         Attributes attrs = ctx.getAttributes("");
         // suche ("sn") und Ausgabe
      
         System.out.println("sn: " + attrs.get("sn").get());
      
      
         // und tschüss ...
         ctx.close();
        } catch (NamingException e) {
           System.err.println("Problem : " + e);
        }
     
   }
}



Weis da einer was da los ist ?
« Letzte Änderung: 05.12.03 - 10:20:36 von arcon »

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:JAVA Agent
« Antwort #1 am: 04.12.03 - 14:59:54 »
Welche Notes Version (wichtig wg. vorhandenem SDK)
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline arcon

  • Frischling
  • *
  • Beiträge: 47
  • Geschlecht: Männlich
  • Notes4Ever
Re:JAVA Agent
« Antwort #2 am: 04.12.03 - 15:11:01 »
Ups sorry,

Ver. 5.0.11

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:JAVA Agent
« Antwort #3 am: 04.12.03 - 15:23:36 »
Domino 5.x benutzt meines Wissens noch JDK 1.1....wahrscheinlich ist die Library da noch nicht drin....
Falls dem tatsächlich so ist, müsstest Du entweder die Klassen importieren oder die JDK auf dem Server austauschen.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Axel Janssen temp

  • Gast
Re:JAVA Agent
« Antwort #4 am: 04.12.03 - 15:24:07 »
cooler Ansatz. 8)

Dann hast du eine Java Version 1.1.8. Was vermutlich ein echtes Problem darstellt.

Weiterhin bezweifele ich irgendwie stark, dass javax.naming.xxx.* Bestandteil irgendeines jsdks sind (nicht mal 1.4).

Hast du die vielleicht in dein eclipse-Projekt als external jars oder wie-auch-immer reinimportiert?

Ich glaube, du müsstest irgendeine jndi-Implementierung finden, die mit Java1.1.8 läuft.

try google. Und halte uns bitte informiert.

Gruß Axel  

*für alle: JNDI ist Bestandteil der J2EE und ist eine API, die Zugriffe auf Naming und Directory Dienst ermöglicht (LDAP, Novell, etc).

« Letzte Änderung: 04.12.03 - 15:24:52 von Axel Janssen temp »

Axel Janssen temp

  • Gast
Re:JAVA Agent
« Antwort #5 am: 04.12.03 - 15:33:56 »

Weiterhin bezweifele ich irgendwie stark, dass javax.naming.xxx.* Bestandteil irgendeines jsdks sind (nicht mal 1.4).

das war Quatsch. JNDI ist zumindest seit Java1.2 Bestandteil des Sun-JSDK.
Spezifikationsmässig offenbar als optional package.
Steht bei euch irgendwie ein upgrade auf Domino6 ins Haus würde ich solange warten. Das könnte damit ohne weiteres funktionieren.  

Offline arcon

  • Frischling
  • *
  • Beiträge: 47
  • Geschlecht: Männlich
  • Notes4Ever
Re:JAVA Agent
« Antwort #6 am: 05.12.03 - 10:18:19 »
Hi, danke für die Antworten !

Habe mich auch noch etwas schlauer gemacht bezüglich der Klassen.

Also der umstieg auf 6 oder 6.5 wird noch dauern !

Mit 6 geht es da sieht man auch ettliche Klassen mehr bei den
Referenzen im Agent unter anderem auch diese javax.naming...

Jetzt gibts eigentlich nur zwei möglichkeiten oder ?

1.) Ein Applications Server der mit Ver. 6 läuft und aus LDAP daten bereitstellt und dann dem Mailserver Ver. 5 die Daten gibt. Was wiederum Geld kostet und noch mehr Server benötigt :(.

2.) Man löst die benötigten Klassen aus der rt.jar 1.4 und bindet Sie
selbst im Java Agenten ein wenn sowas über haubt möglich ist.
[Vorsicht Gehirngespienst :)].

Währe der Punkt 2. möglich ? Kann mir da wer Hilfestellung geben ?

thx, arcon

Offline arcon

  • Frischling
  • *
  • Beiträge: 47
  • Geschlecht: Männlich
  • Notes4Ever
Re:JAVA Agent
« Antwort #7 am: 05.12.03 - 10:23:06 »
Domino 5.x benutzt meines Wissens noch JDK 1.1....wahrscheinlich ist die Library da noch nicht drin....
Falls dem tatsächlich so ist, müsstest Du entweder die Klassen importieren oder die JDK auf dem Server austauschen.

Wie kann man die JDK austauschen die Notes verwendet ?

Axel Janssen temp

  • Gast
Re:JAVA Agent
« Antwort #8 am: 05.12.03 - 11:21:05 »
1.) Ein Applications Server der mit Ver. 6 läuft und aus LDAP daten bereitstellt und dann dem Mailserver Ver. 5 die Daten gibt. Was wiederum Geld kostet und noch mehr Server benötigt :(.
Mach es mit Tomcat. Der ist gut und umsonst:
http://jakarta.apache.org/tomcat/index.html
(nimm 4 oder 5). 5 hat glaub ich seit kurzem das erste stable Release. Wir haben aber auch schon in einem Projekt beim Kunden die beta im Einsatz. 4 ist aber auch völligst in Ordnung.  
Hier ist die Installationsanleitung.
http://www.moreservlets.com/Using-Tomcat-4.html
Tomcat läuft standardmässig auf port 8080 (kann umgestellt werden). Er kommt so nicht mit Domino ins Gehege.
Du müsstest deinen Agenten als Servlet umschreiben (nicht schwierig).
Du kannst diese Serverseitige Anwendung mit Hilfe des Sysdeo-plugins sogar debuggen (arbeite ich auch mit):http://www.sysdeo.com/eclipse/tomcatPlugin.html

Du kannst dabei übrigens auch Domino als client verwenden. Die rustikale Lösung wäre mittels java.net.URLConnection (oder so ähnlich) mit Tomcat aus Domino heraus zu kommunizieren.  
2.) Man löst die benötigten Klassen aus der rt.jar 1.4 und bindet Sie
selbst im Java Agenten ein wenn sowas über haubt möglich ist.
[Vorsicht Gehirngespienst :)].
No Way. Du kannst auch nicht die JVM von Domino austauschen.


gruß Axel
« Letzte Änderung: 05.12.03 - 11:24:04 von Axel Janssen temp »

Offline arcon

  • Frischling
  • *
  • Beiträge: 47
  • Geschlecht: Männlich
  • Notes4Ever
Re:JAVA Agent
« Antwort #9 am: 05.12.03 - 13:16:46 »
Thx für Tip,

werde mir mal Tomcat ansehen bzw. ob es nicht reicht ein
eigenständiges Java Programm zuschreiben welches die notwendigen
Daten von LDAP in eine Notes DB schreibt.

cya, arcon

Axel Janssen temp

  • Gast
Re:JAVA Agent
« Antwort #10 am: 05.12.03 - 15:55:02 »
Thx für Tip,

werde mir mal Tomcat ansehen bzw. ob es nicht reicht ein
eigenständiges Java Programm zuschreiben welches die notwendigen
Daten von LDAP in eine Notes DB schreibt.

cya, arcon
Das geht natürlich auch. Du kannst das Programm ja über den Betriebssystemscheduler laufen lassen. Es gibt auch Java-eigene Scheduler-Lösungen. Wir benutzen da eine openSource-Lsg in einem Projekt. Nur leider fällt mir da der Name momentan partout nicht ein.   ???

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz