Probleme JNDI / Oracle IAS / ava.naming.factory.initial

boeser_micha

Grünschnabel
Guten Morgen,

ich habe da mal wieder ein kleines Problem :-)


Was möchte ich machen ?
Konkret geht es um die Anbindung an unser Filenet über die ISRA Schnittstelle. Ich möchte via Java-Programm (standalone ) und Nutzung JNDI (vorgegeben) auf Funktionalität zugreifen, die auf einen Oracle IAS deployed ist.

Laut Dokumentation Oracle u. Filennet müsste ich eine Hashtable erzeugen,füllen, und dann dem Context -Konstruktor übergeben. Dies habe ich versucht, aber mein Programm läuft nicht mal bis zum lookup.

Oracle- Beispiel:

http://download-east.oracle.com/docs/cd/B32110_01/web.1013/b28221/servjndi011.htm#CIAGBEGF

Example 19-22 Specifying Initial Context Factory Properties
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"oracle.j2ee.server.ApplicationClientInitialContextFactory");
env.put("java.naming.provider.url",
"opmn:ormi://opmnhost:6004:oc4j_inst1/ejbsamples");

Folgendes habe ich dann implementiert:
....
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "oracle.j2ee.server.ApplicationClientInitialContextFactory"); env.put("java.naming.provider.url",
"opmn:ormi://w-hnlx77.wuebaintern.de:7778:EIDB/ISRASample/wueba_testerle");
context = new InitialContext(env);
// Perform Lookup
connectionFactory = (ConnectionFactory)
context.lookup ("java:/ISRASample/wueba_testerle");
....

Fehlermeldung:
Cannot instantiate class: oracle.j2ee.server.ApplicationClientInitialContextFactory [Root exception is java.lang.ClassNotFoundException: oracle.j2ee.server.ApplicationClientInitialContextFactory]

Probleme / Fragestellung:

Probleme / Fragestellung:
  • Keine wirkliche Ahnung von JNDI (noch nicht) ;-)
  • ich weiß nicht, ob dieser Eintrag richtig ist:
    oracle.j2ee.server.ApplicationClientInitialContextFactory
  • Muss ich serverseitig noch etwas einstellen lassen ? Möchte einfach mit einer standalone Client – Anwendung entsprechende Funktionalität ausführen.
  • irgendwo stand, dass oc4jclient.jar im CLASSPATH stehen muss. Dies habe ich soweit gemacht, aber oracle.j2ee.server.ApplicationClientInitialContextFactory scheint nicht gefunden zu werden. Das „Server“ macht mich auch etwas stutzig


Gruß und schon mal vielen Dank

Micha
 
Hallo,

Zitat:
Cannot instantiate class: oracle.j2ee.server.ApplicationClientInitialContextFactory [Root exception is java.lang.ClassNotFoundException: oracle.j2ee.server.ApplicationClientInitialContextFactory]

...

irgendwo stand, dass oc4jclient.jar im CLASSPATH stehen muss. Dies habe ich soweit gemacht, aber oracle.j2ee.server.ApplicationClientInitialContextFactory scheint nicht gefunden zu werden. Das „Server“ macht mich auch etwas stutzig
Ist denn die gesuchte Klasse in diesem oc4jclient.jar drinnen, oder gibt es da vielleicht noch zusätzliche Jars die in den Classpath gesteckt werden müssen.

Gruß Tom
 
Hall,

also genau diese Klasse habe ich in oc4jclient.jar nicht gefunden. Ich suche gerade im I-Net in welcher Jar ich diese Klasse finden müsste. Laut Oracle (oder ich hab’s nicht kapiert :D ) müsste diese Klasse in dem Jar oc4jclient.jar vorhanden sein. Ich google dann mal die nächste halbe Stunde ;-)

Grüße aus Heilbronn :-)

Micha
 
Hallo,

also ich habe im Internet etwas recherchiert und bin zumindest ein Stück weiter. Glaube meine offenen Fragen passen eher in den JEE –Bereich. Du hast aber recht gehabt, das benötigte Package hatte ich nicht eingebunden. Ich habe ohnehin noch ein paar Änderungen vorgenommen.

Folgendes habe ich geändert:

import com.evermind.server.*; eingefügt

Quellcode modifiziert:

...

try {
Hashtable env = new Hashtable();
String url = "opmn:ormi://w-hn-lx77.test.de:6004:home/wueba_hn";
env.put(Context.PROVIDER_URL, url);
env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin"); // );
env.put(Context.SECURITY_CREDENTIALS,"password"); );
env.put(Context.INITIAL_CONTEXT_FACTORY ,"oracle.j2ee.rmi.RMIInitialContextFactory");
context = new InitialContext(env);

NamingEnumeration list = context.listBindings(".");
while (list.hasMore()) {
Binding nc = (Binding) list.next();
System.out.println(nc.getName() + " : " +nc.getObject() );
}
..

Das Programm startet, aber context.listBindings("."); "kommt nicht zurück". Wie man sieht habe ich PROVIDER_URL und INITIAL_CONTEXT_FACTORY angepasst. Mir ist aber noch immer nicht klar, wie ich herausbekommen kann ob

"opmn:ormi://w-hn-lx77.test.de:6004:home/wueba_hn";

richtig ist. Lookup funktioniert zumindest nicht.. wueba_hn soll laut DBA die
Die Beispiel-Appikation sein (laut Filent ISRASample). Keine Ahnung ,wie ich das herausfinden kann.


Gruß und Danke

Micha
 
Zurück