Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: kheldar77 am 15.08.08 - 15:14:28
-
Hallo zusammen,
zur Zeit versuche ich eine Notes-SAP-Verbindung aufzubauen mit dem SAP Javaconnector. Leider funktioniert das aber nicht, weil die jvm einen UnsatisfiedLinkError liefert. Sinngemäß sagt der Fehler aus, dass die Anwendung nicht gestartet werden kann, weil die Anwendungskonfiguration nicht korrekt wäre.
Das hängt irgend wie mit dem Zusammenspiel von sapjco3.dll und sapjco3.jar zusammen. Ich hab die dll schon in allen möglichen Verzeichnissen gehabt (jvm/lib/ext, jvm/bin, /notes, /windows/system32), hat aber alles nichts genützt.
Hat schon mal jemand mit dem Teil gearbeitet? Wo muss ich die DLL hinkopieren, damit die Schnittstelle funktioniert?
Wäre nett, wen mir da jemand helfen könnte.
Gruß,
Joachim
-
Ach so, sorry. Bin eigentlich "jr" und poste hier unter dem Namen des Kunden... ;-)
-
Ist der ClassPath denn richtig?
Make sure that the file sapjco.jar (in the SAP JCo main directory) is contained in the class path for all projects for which you want to use the SAP JCo..
und
SAP highly recommends that you store sapjco.jar and sapjcorfc.dll in the same directory.
SAP GUI ist auch installiert?
Evtl. auch ein versionskonflikt
Copy the file librfc32.dll from your SAP JCo main directory to C:\WINNT\SYSTEM32, as long as the version that is already there is not a more recent version than the one that is delivered with the SAP JCo.
-
Hallo,
danke für die schnelle Antwort. Normalerweise muss ich mich ja in Notes nicht um den Classpath kümmern, wenn die jars in jvm\lib\ext liegen. Aber sicherheitshalber habe ich noch zusätzlich eine Classpath-Umgebungsvariable definiert in der dieser Pfad mit drin ist. Hat aber leider alles nix genützt.
Das JAR-File ist auch nicht das Problem. Wenn er das nicht finden würde, könnte ich die Bibliothek ja gar nicht kompilieren. Aber das war problemlos möglich.
Gruß,
Joachim
-
Noch etwas. Notes scheint die DLL zu finden, den in der Fehlermeldung gibt es den kompletten Pfad zu dieser dll an (C:\Notes\jvm\lib\ext\sapjco3.dll).
Die Fehlermeldung sagt "... weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten sie die Anwendung neu installieren".
Gruß,
Joachim
-
Die librfc32.dll gibt es mit sapjco3 nicht mehr. Zumindest ist die nicht im Zip-File enthalten.
Die SAP-Gui ist hier nicht installiert. Sonst würde ich das ganze mit BAPI machen, das funktioniert bei anderen Kunden einwandfrei. Aber hier soll kein SAP-Client installiert werden, sondern der JCO benutzt werden.
Ich bin echt am verzweifeln...
-
ich glaube, du brauchst nur die librfc32.dll. Also nicht die komplette GUI.
For productive operation, the following files from the SAP JCo .zip file are necessary:
· sapjco.jar
· librfc32.dll
· sapjcorfc.dll
-
So, jetzt bin ich nicht mehr "Inkognito"... ;)
@Ulrich: Die von dir beschriebenen Dateien gehören alle zum JCo 2. Dieser ist aber vollkommen inkompatibel mit dem JCo 3. Da gibts komplett neue Klassen. Unter 2 gibts eine Basisklass JCO und alles andere hängt direkt darunter (JCO.Functions, JCO.Table, etc.) Unter 3 sind das aber alles eigenständige Klassen (JCOFunctions, JCOTable) und vermutlich auch andere Parameter. Ich hab mir jetzt auch mal den 2er geben lassen und wenn es nicht anders tut, dann muss ich mein Export halt komplett umschreiben... ::)
Da ich jetzt wieder zu Hause im Büro bin, hab ich das noch einmal bei mir getestet, denn da erscheint dieser Fehler seltsamerweise nicht. Ich habe den schweren Verdacht, dass es damit zusammenhängt, dass hier der SAP Client testweise installiert wurde, weil ich für einen anderen Kunden die BAPI-Schnittstelle bedienen musste (Hab jetzt wohl alle durch, rfclsx, BAIP, JCO, vielleicht benutzt ja ein andere Kunde nochmal was anderes...). Könnte also sein, dass auch für das JCo 3 eine Client-Installation zwingend notwendig ist.
Mein Kunde lässt jetzt auf dem Exportrechner einen SAP-Client installieren und dann sehen wir weiter. Wenn es geht, muss auch auf dem Server ein Client installiert werden, worüber die gar nicht glücklich wären. Aber das dauert noch bis nächste Woche.
Wenn ich etwas neues weiß, melde ich mich wieder.
Danke für die Hilfe,
Joachim