AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
24.09.17 - 23:17:44
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Java und .NET mit Notes/Domino (Moderatoren: Axel, m3)
| | |-+  SAP Java Connector
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: SAP Java Connector  (Gelesen 3325 mal)
Tannibal
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180



« am: 16.02.17 - 15:16:44 »

Hallo ihr,

nachdem die COM/librfc.dll-Schnittstelle im SAP-GUI abgekündigt wurde, musste ich mir eine neue Schnittstelle zu SAP suchen.

Ich habe den SAP Java Connector gefunden und auch in Eclipse zum Laufen bekommen.

Nun scheitere ich aber den Test in einem Java Agent nachzustellen.
Der Connector besteht aus den Dateien: sapjco3.dll, sapjco3.jar und sapjco3.pdb

Wo muss denn die Dateien im Agent hinzufügen, damit ich sie sauber verwenden kann?

Wenn ich nur die .jar hinzufüge, erkennt er zwar die Klassen aber bekomme trotzdem eine Exception.

Danke
Gespeichert

Gruß, Daniel
----------------
14x Domino 9.0.1 FP6
inkl. Traveler , LEI, Sametime, Connections
1k Notes-Clients 9.0.1 FPx
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 10779


« Antworten #1 am: 16.02.17 - 15:44:43 »

Und welche?

Vermutlich sind die jars mit Java 8 erstellt.
Gespeichert
Tannibal
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180



« Antworten #2 am: 16.02.17 - 16:08:01 »

Meistens das:

Code:
Exception in thread "AgentThread: JavaAgent" java.lang.NoClassDefFoundError: com.sap.conn.jco.JCoDestinationManager
at JavaAgent.step1Connect(Unknown Source)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sap.conn.jco.JCoDestinationManager
at lotus.domino.AgentLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:642)
... 4 more

Wenn ich die .jar in jvm\lib\ext lege bekomme eine Security-Meldung, nach Anpassung der java.policy lande ich aber beim gleichen Fehler wie oben.


EDIT: jetzt hat es seltsamerweise funktioniert, muss aber noch prüfen unter welcher Konstellation..
EDIT2: es funktioniert, wenn die .jar im Agent hinzugefügt wurde, die java.policy angepasst und die dll über eine Systemvariable eingebunden wird. Eher unschön.
            Ansonsten lande ich in einem: java.lang.UnsatisfiedLinkError: sapjco3 (Not found in java.library.path)
« Letzte Änderung: 16.02.17 - 16:48:47 von Tannibal » Gespeichert

Gruß, Daniel
----------------
14x Domino 9.0.1 FP6
inkl. Traveler , LEI, Sametime, Connections
1k Notes-Clients 9.0.1 FPx
Tannibal
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180



« Antworten #3 am: 21.02.17 - 09:09:43 »

Sonst noch eine Idee wie ich das direkt in der Datenbank zum Laufen bekomme?
Gespeichert

Gruß, Daniel
----------------
14x Domino 9.0.1 FP6
inkl. Traveler , LEI, Sametime, Connections
1k Notes-Clients 9.0.1 FPx
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 956



« Antworten #4 am: 21.02.17 - 18:07:18 »

Ich denke es läuft?

Probier mal die DLL in das Notes-Programmverzeichnis anzulegen, wenn das geht, dann kann die DB sich ohne viel Aufwand selber "lauffähig" machen.
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5
--
Nur ein toter Bug, ist ein guter Bug!
Tannibal
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180



« Antworten #5 am: 22.02.17 - 13:09:14 »

Problem ist, dass ich die Funktion an den Clients benötige, da wir einige Masken haben die bestimmte Werte aus SAP benötigen.
Daher möchte ich so wenig manuellen Aufwand wie möglich (weltweit und so...)

Aber du hattest Recht, dll ins Programmverzeichnis und jar in jvm/lib/ext.
In die java.pol habe ich ein "permission java.lang.RuntimePermission "getClassLoader";"  gepackt.
Entscheidend war wohl ein "Clean Project"

Weitere Tipps gerne willkommen Smiley
Gespeichert

Gruß, Daniel
----------------
14x Domino 9.0.1 FP6
inkl. Traveler , LEI, Sametime, Connections
1k Notes-Clients 9.0.1 FPx
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 956



« Antworten #6 am: 22.02.17 - 13:26:17 »

Die jar-Dateien würde ich nicht auf dem PC ablegen, sondern in der aktuellen DB belassen, welchen Vorteil bringt das?
Java-Archive können auch über die notes.ini bekannt gemacht werden; JAVAUSERCLASSES=...
Einen java.policy Eintrag bezüglich ClassLoader musste ich noch nie machen Huh
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5
--
Nur ein toter Bug, ist ein guter Bug!
Tannibal
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 180



« Antworten #7 am: 22.02.17 - 13:41:27 »

Die Jar-Ablage macht keinen Unterschied.

Wenn ich die java-policy im Standard belasse erhalte ich das.
Code:
Exception in thread "AgentThread: JavaAgent" java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:221)
at com.sap.conn.jco.JCo.createJCo(JCo.java:32)
at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:199)
at com.sap.conn.jco.JCoDestinationManager.getDestination(JCoDestinationManager.java:104)
at JavaAgent.step1Connect(Unknown Source)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessController.throwACE(AccessController.java:121)
at java.security.AccessController.checkPermission(AccessController.java:194)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.java:1455)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.java:1317)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1619)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1470)
at java.lang.ClassLoader.getParent(ClassLoader.java:431)
at com.sap.conn.jco.ext.Environment.<clinit>(Environment.java:128)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:199)
... 9 more

Liegt bestimmt auch nur irgendwo in meiner Unwissenheit der Java-Entwicklung unter Notes begraben  Tongue
Gespeichert

Gruß, Daniel
----------------
14x Domino 9.0.1 FP6
inkl. Traveler , LEI, Sametime, Connections
1k Notes-Clients 9.0.1 FPx
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: