LDAPException(resultCode=object class violation求大神解决
/**
* 创建用户
* @param baseDN
* @param user
*/
public void createEntry(String baseDN, InternalUser internalUser) {
String entryDN = "erglobalid=" + internalUser.getErglobalid() + "," + baseDN;
try {
// 连接LDAP
openConnection();
SearchResultEntry entry = connection.getEntry(entryDN);
if (entry == null) {
// 不存在则创建
ArrayList<Attribute> attributes = new ArrayList<Attribute>();
attributes.add(new Attribute("objectClass","top","inetOrgPerson","erManagedltem","organizationalPerson","person","erPersonltem"));
attributes.add(new Attribute("uid", internalUser.getUid()));
attributes.add(new Attribute("employeetype", internalUser.getEmployeetype()));
attributes.add(new Attribute("level", internalUser.getLevel()));
attributes.add(new Attribute("erpersonstatus", internalUser.getErpersonstatus()));
attributes.add(new Attribute("displayOrder", internalUser.getDisplayorder()));
attributes.add(new Attribute("nation", internalUser.getNation()));
attributes.add(new Attribute("ercreatedate", internalUser.getErcreatedate()));
attributes.add(new Attribute("erpswdlastchanged", internalUser.getErpswdlastchanged()));
attributes.add(new Attribute("levelname", internalUser.getLevelname()));
attributes.add(new Attribute("userpassword", internalUser.getUserpassword()));
attributes.add(new Attribute("sn", internalUser.getSn()));
attributes.add(new Attribute("cn", internalUser.getCn()));
attributes.add(new Attribute("preferredmobile", internalUser.getPreferredmobile()));
attributes.add(new Attribute("email", internalUser.getEmail()));
attributes.add(new Attribute("function", "12"));
attributes.add(new Attribute("religion", internalUser.getReligion()));
attributes.add(new Attribute("c", internalUser.getC()));
attributes.add(new Attribute("ersynchpassword", internalUser.getErsynchpassword()));
attributes.add(new Attribute("erlastmodifiedtime", internalUser.getErlastmodifiedtime()));
attributes.add(new Attribute("positionlevel", internalUser.getPositionlevel()));
attributes.add(new Attribute("erglobalid", internalUser.getErglobalid()));
attributes.add(new Attribute("erparent", internalUser.getErparent()));
attributes.add(new Attribute("duty", internalUser.getDuty()));
attributes.add(new Attribute("gender", internalUser.getGender()));
attributes.add(new Attribute("employeenumber", internalUser.getEmployeenumber()));
attributes.add(new Attribute("o", internalUser.getO()));
attributes.add(new Attribute("l", "本部"));
attributes.add(new Attribute("status", internalUser.getStatus()));
attributes.add(new Attribute("erlocale", internalUser.getErlocale()));
connection.add(entryDN, attributes);
// connection.modify(entryDN,)
System.out.println("创建用户" + entryDN + "成功!");
} else {
System.out.println("用户" + entryDN + "已存在!");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("创建用户出现错误:\n" + e.getMessage());
}
}
错误信息
LDAPException(resultCode=object class violation, errorMessage='object class violation')
at com.unboundid.ldap.sdk.LDAPConnection.add(LDAPConnection.java:1539)
at com.unboundid.ldap.sdk.LDAPConnection.add(LDAPConnection.java:1464)
at net.zoneland.uum.client.commons.LdapContextUtils.createEntry(LdapContextUtils.java:132)
at net.zoneland.uum.client.processer.AddUserProcesser.saveInternalUser(AddUserProcesser.java:82)
at net.zoneland.uum.client.processer.AddUserProcesser.process(AddUserProcesser.java:65)
at net.zoneland.uum.client.core.JMSResponseHandler.process(JMSResponseHandler.java:108)
at net.zoneland.uum.client.core.JMSResponseHandler.onMessage(JMSResponseHandler.java:73)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:326)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:264)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1071)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1063)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:960)
at java.lang.Thread.run(Thread.java:722)
创建用户出现错误:
object class violation