2016-05-11 7 views
0

私はfollwingエラーにInvalidAttributeIdentifierException:[LDAP:エラー・コード17 - オブジェクトクラス:のAttributeDescriptionは不適切な文字が含まれている] - :::[LDAPオブジェクトクラスエラーコード17

javax.naming.directory.InvalidAttributeIdentifierExceptionを取得していますAttributeDescriptionに不適切な文字が含まれています。

これは私のクラスである:

public class OpenLDAPTest { 

public static void main(String[] args) { 
    String url = "ldap://localhost:389"; 
    Hashtable env = new Hashtable(); 
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
    env.put(Context.PROVIDER_URL, url); 
    env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
    env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,dc=maxcrc,dc=com"); 
    env.put(Context.SECURITY_CREDENTIALS, "secret"); 
    try { 
     DirContext ctx = new InitialDirContext(env); 
     System.out.println("connected"); 
     System.out.println(ctx.getEnvironment()); 
     System.out.println("Creating subContext"); 
     String name = "dc=mine, dc=com"; 
     Attributes atrs = new BasicAttributes(); 
     Attribute atr1 = new BasicAttribute("Object Class"); 
     atr1.add("OrgPerson"); 
     atrs.put(atr1); 
     Attribute atr2 = new BasicAttribute("cn"); 
     atr2.add("sathish"); 
     atrs.put(atr2); 
     atrs.put("Phone", "12345"); 
     Context c = ctx.createSubcontext(name, atrs); 
     System.out.println(c.getEnvironment()); 
     ctx.close(); 

    } catch (AuthenticationNotSupportedException ex) { 
     System.out.println("The authentication is not supported by the server"); 
    } catch (AuthenticationException ex) { 
     System.out.println("incorrect password or username"); 
    } catch (NamingException ex) { 
     //System.out.println("error when trying to create the context"); 
     ex.printStackTrace(); 
    } 
} 

} 
+0

「オブジェクトクラス」という名前の属性がありますか? (スペースはおそらく問題です)。 https://www.google.com/support/enterprise/static/postini/docs/admin/en/dss_admin/prep_ldap.htmlによれば、おそらく「objectclass」になるはずです –

+0

実際にはLDAPでそれほど良くはありません。ネットでいくつかのコードを見たところ、ApacheDirectoryStudioで作業していたのですが、OpenLDAPを試しています。私の意図はopenLAPにアクセスするためのコードを書くことです。 – Sat

+0

"objectclass"に変更しましたが、 javaでこれらのLDAPクエリを使用するには?あなたが私をガイドしてください知っていれば..ありがとう – Sat

答えて

1

方が良いオブジェクトとクラスでスペースを省略した後、新しいエラープロンプトであなたの質問を更新したいですか?

関連する問題