我有LDAP服务器并在weblogic中创建了外部LDAP提供程序。我正在编写java代码以从外部LDAP提供程序获取LDAP服务器详细信息。
try
{
InitialContext cctx = null;
Properties envHash = new Properties ();
envHash.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
envHash.put(Context.SECURITY_AUTHENTICATION, "simple");
envHash.put(Context.SECURITY_PRINCIPAL, "weblogic");
envHash.put(Context.SECURITY_CREDENTIALS, "password");
envHash.put(Context.PROVIDER_URL, "t3://localhost:7001");
cctx = new InitialContext(envHash);
// Pass the Local JNDi Name here
Object ctx = cctx.doLookup(new CompositeName().add("OUDJNDIProvider"));
但代码失败,但有以下异常。任何人都有如何从java代码获取JNDI详细信息的示例?
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at
javax.naming.spi.NamingManager.getInitialContext(Unknown Source) at
javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) at
javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source) at
javax.naming.InitialContext.lookup(Unknown Source) at
javax.naming.InitialContext.doLookup(Unknown Source) at
com.company.GetJNDIDetails.main(GetJNDIDetails.java:35)