/**
* 創建用戶
* @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
uj5u.com熱心網友回復:
核對過屬性都沒問題,現在不知道怎么弄了uj5u.com熱心網友回復:
沒做過這塊,希望能幫到你https://stackoverflow.com/questions/30219907/javax-naming-directory-schemaviolationexception-ldap-error-code-65-object-c
uj5u.com熱心網友回復:
自頂1111111uj5u.com熱心網友回復:
LDAP是啥東東,有學習資料么uj5u.com熱心網友回復:
雖然有點挖墳的嫌疑, 不過我還是得請教一下, 現在我也遇見到了! 不知道是什么原因? 小哥還記得怎么解決的嗎?uj5u.com熱心網友回復:
明顯沒解決,你自己發帖問啊
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/113534.html
標籤:Java SE
