Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino
Infos zu Eclipse
fritandr:
Hallo,
zuerst mal Danke für die viele Mühe, die Ihr bereits in diesen Thread gesteckt habt.
Ich bin gerade dabei, mal das Tutorial (Teil 1) durchzuarbeiten. Dabei stolpere ich über ein paar Kleinigkeiten. Vielleicht könnt Ihr mir ja mal wieder helfen?
Mein "testprogramm.java" läuft leider nicht :'(
1. Die Library NCSOC.jar gibt es auf meinem 6er Client leider nicht. Irgendwo in der Hilfe stand dann, man solle die NCSO.jar verwenden. Ist das o.k.?
2. Mein Server steht irgendwo im Internet und ist nur per https erreichbar. Entsprechend bekomme ich jetzt Fehlermeldungen um die Ohren, wenn ich versuche, das Programm auszuführen.
-----
Es ist ein Fehler aufgetreten
NotesException: Could not get IOR from Domino Server: java.net.MalformedURLException: unknown protocol: https
at lotus.domino.NotesFactory.readIOR(Unknown Source)
at lotus.domino.NotesFactory.getIOR(Unknown Source)
at lotus.domino.NotesFactory.createSession(Unknown Source)
at lotus.domino.NotesFactory.createSession(Unknown Source)
at test.testprogramm.main(testprogramm.java:24)
java.lang.NullPointerException
at test.testprogramm.main(testprogramm.java:36)
Exception in thread "main"
oder:
Es ist ein Fehler aufgetreten
NotesException: Invalid IOR <HTML><HEAD><TITLE>Unable to Process Request</TITLE></HEAD><BODY><P>Http Status Code: 400</P><P>Reason: Unknown or unsupported protocol version</P></BODY></HTML>
at lotus.domino.NotesFactory.readIOR(Unknown Source)
at lotus.domino.NotesFactory.getIOR(Unknown Source)
at lotus.domino.NotesFactory.createSession(Unknown Source)
at lotus.domino.NotesFactory.createSession(Unknown Source)
at test.testprogramm.main(testprogramm.java:24)
java.lang.NullPointerException
at test.testprogramm.main(testprogramm.java:36)
Exception in thread "main"
-----
Gibt es eine Möglichkeit (oder Notwendigkeit), über https an den Server zu kommen oder geht da in meinem Kopf etwas grundsätzlich durcheinander? Bin ich vielleicht auf dem völlig falschen Dampfer?
3. Kann ich das Programm auch einfach nur gegen eine lokale DB laufen lassen. Ich habe schon einige Dinge versucht. Aber mein Lieblings-PC meint dann immer, ich sei kein Server, ...
Java, eine Programmiersprache mit sieben Siegeln? --> Noch!!!
Viele Grüße
fritandr
Axel_Janssen:
Ist unter Notes-Data\domino\java
Trotzdem versuch einfach mal die Verbindung über C-Wrapper (funktioniert auch lokal und ich präferiere sie jetzt auch für Server-Zugriff).
Binde dafür das Jar Notes.jar ein (also dasselbe was für NCSO, für Notes.jar).
Befindet sich Unter Notes-Programm-Verzeichnis.
Auf die Schwierigkeiten die corba-Lösung über https laufen zu lassen gehe ich ein, wenn ich mehr Zeit habe.
Gruß Axel
fritandr:
--- Zitat von: Axel_Janssen am 24.07.03 - 12:35:13 ---Ist unter Notes-Data\domino\java
--- Ende Zitat ---
Bei mir leider nicht. Kann das eventuell damit zusammenhängen, daß ich hier mehrere Notesclients installiert habe? Die NCSOC.jar liegt bei mir nur unter einem 5er NotesClient, nicht unter dem 6er, mit dem ich eigentlich arbeiten will.
--- Zitat ---Trotzdem versuch einfach mal die Verbindung über C-Wrapper (funktioniert auch lokal und ich präferiere sie jetzt auch für Server-Zugriff).
Binde dafür das Jar Notes.jar ein (also dasselbe was für NCSO, für Notes.jar).
--- Ende Zitat ---
Sorry, ich verstehe nur Bahnhof! Was ist denn ein C-Wrapper?
Schätze, ich sollte wohl doch erstmal noch ein paar grundlegende Dinge lesen, ...
Also Library NCSO.jar rausschmeißen. Und dann ? Die NOTES.jar ist ja schon mit eingebunden, oder?
--- Zitat ---Auf die Schwierigkeiten die corba-Lösung über https laufen zu lassen gehe ich ein, wenn ich mehr Zeit habe.
--- Ende Zitat ---
Das hier ist für mich momentan Spielbetrieb. Absolut nicht zeitkritisch. Es muß auch im Moment sicher nicht über https gehen.
Danke für die Hilfe
Andreas
fritandr:
--- Zitat von: fritandr am 24.07.03 - 12:17:59 ---3. Kann ich das Programm auch einfach nur gegen eine lokale DB laufen lassen. Ich habe schon einige Dinge versucht. Aber mein Lieblings-PC meint dann immer, ich sei kein Server, ...
--- Ende Zitat ---
Entwarnung, lokal geht es jetzt immerhin ;D
Viele Grüße
fritandr
[/quote]
Axel_Janssen:
C-Wrapper. Es gibt irgendwelche dlls im Notes-Programmverzeichnis des Clients die für die Aufrufe vom Client auf Server sowie für anderen Krempel wie Frontend-Daten ins Backend etc. zuständig sind.
Auch die Lotus-Script Klassen benützen zur Laufzeit diese dlls. Für Java gibt es keine eigenen Java-Klassen sondern es gibt spezielle Java-Klassen mit Java-Native-Interface code, die auf diese C-Klassen zugreifen. Sie also quasi umschliessen und nach aussen eine Schnittstelle anbieten, über die sie angesprochen werden (deshalp wrapper).
Die Notes-Java-Klassen reden über diese Schnittstellen mit jenen C-Wrapper-Klassen (mit denen der Anwendungsentwickler direkt eigentlich nie spricht). Als Anwendungsprogrammierer mußt du dich da theoretisch nicht drum zu kümmern. Ist aber wichtig zu wissen, v.a. wenn du feststellst, das dein Java code zwar prima läuft, ansonsten aber der Computer immer langsamer und laaangsaaamer und langsaaaaahmer wird (völlig spürbar). Mit der Suchfunktion nach "recycle" suchen, um zu erfahren, wie du dich davor schützen kannst (war glaub ich im Tutorial nicht drin, wurde aber ausführlich diskutiert)
Neben diesen C-Wrapper Klassen, die auf Serverdatenbanken mit Lotus-RPC calls zugreifen können, existieren die sogenannten CORBA-Klassen (in NSCO.jar) mit denen die Kommunikation mit Objekten (Database, View, etc) auf dem Notesserver aus Java möglich ist. Das ist dann intern noch mal 3-4 Runden komplexer. Da gibt es dann irgendwelche stubs, skeletons, ORBs und idl-Dateien, aber so richtig kenne ich mit Corba auch nicht aus. Du merkst davon auch gar nicht. Nachteil von der eigentlich eleganteren Corba-Lösung ist, dass es langsamer ist als die C-Wrapper.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln