|
请那位高手帮忙解决一个问题
import javax.naming.directory.*;
import javax.naming.*;
import java.util.Hashtable;
public class add {
public add() {
}
public static void main(String[] args) {
String password = "cm";
String basedn = "dc=cm,dc=com";
DirContext ctx = null;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" ; env.put(Context.PROVIDER_URL, "ldap://localhost:389/"+basedn );
env.put(Context.SECURITY_PRINCIPAL, "cn=root,"+basedn );
env.put(Context.SECURITY_CREDENTIALS, password);
try {
ctx = new InitialDirContext(env);
System.out.println("认证成功" ;
}
catch (javax.naming.AuthenticationException e) {
System.out.println("认证失败" ;
}
catch (Exception e) {
System.out.println("认证出错:" + e);
}
try{
DirContext schemaCtx = ctx.getSchema("" ;
BasicAttributes attrs = new BasicAttributes(true);
attrs.put("NAME", "test" ;
attrs.put("NUMERICOID", "1.3.6.1.4.1.7914.1.2.1.16" ;
attrs.put("SYNTAX", "1.3.6.1.4.1.1466.115.121.1.15" ;
attrs.put("SINGLE-VALUE", "TRUE" ;
schemaCtx.createSubcontext("AttributeDefinition/test", attrs);
System.out.println("ok" ;
}catch(Exception e){
System.out.println("Exception in add():"+e);
}
}
}
提示:
认证成功
Exception in add():javax.naming.OperationNotSupportedException: [LDAP: error code 53 - modification of subschema subentry not supported]; remaining name ''
怎么处理此异常啊,谢谢回复 |
|