LDAPException

darksmilie

Erfahrenes Mitglied
hi

ich weiß nicht was falsch an meiner modifikation des Entries ist. Ich möchte einen Entry hinzufügen. bei meinem ersten Dialog setzte ich den namen und selectiere die objectClasses. Bei meinem zweiten setzte ich alle Attribute, die gesetzt werden müssen über Textfelder(SWT). Der DN kommt richtig am ende an, den habe ich mit vorher einmal ausgeben lassen. Vielleicht sieht jemand von euch den fehler den ich mache

Code:
LDAPAttributeSet attributeSet = new LDAPAttributeSet();
    for(int o = 0;o < objectClasses.size();o++) {
      ObjectClasses objectclass = objectClasses.get(o);
      for(int i = 0; i < objectclass.getMustAttribute().size(); i++) {
        Attribute mustattribute = objectclass.getMustAttribute().get(i);
        if(!mustattribute.getAttributeName().equals("objectClass") && 
           !mustattribute.getAttributeName().equals("host") &&
           !mustattribute.getAttributeName().equals("cn") && 
           !mustattribute.getAttributeName().equals("uid")) {
          if(mustattribute.getAttributeName().equals("activationDate")) { 
            attributeSet.add(new LDAPAttribute("activationDate",activatedate.getText()));
          }
          else if(mustattribute.getAttributeName().equals("deActivationDate")) {
            attributeSet.add(new LDAPAttribute("deActivationDate",deactivatedate.getText()));
          }
          else {
            attributeSet.add(new LDAPAttribute(attributename[i].getText(),new String(attributetext[i].getText())));
          }
        } else {
          attributeSet.add(new LDAPAttribute("host",new String("*")));
          attributeSet.add(new LDAPAttribute("cn",new String(cn)));
          if(mustattribute.getAttributeName().equals("uid")) {
            attributeSet.add(new LDAPAttribute("uid",new String(cn)));
          }
        }
      }      
      attributeSet.add(new LDAPAttribute("objectclass",new String(objectclass.getObjectClassName())));
    }
    LDAPEntry newEntry = new LDAPEntry( dn, attributeSet );
    try {
      LDAPConnection lc = new LDAPConnection();
      IPreferenceStore store = Plugin.getDefault().getPreferenceStore();
      LdapConnectionData connectdata = new LdapConnectionData(store.getString(PreferenceConstans.P_HOSTID),store.getString(PreferenceConstans.P_PORT),store.getString(PreferenceConstans.P_LOGINDN));
      lc.connect(store.getString(PreferenceConstans.P_HOSTID),Integer.parseInt(store.getString(PreferenceConstans.P_PORT)));
      lc.bind(LDAPConnection.LDAP_V3,connectdata.getLoginDN(),Plugin.getDefault().getLdapPassword());
      lc.add( newEntry );
      lc.disconnect();
    }
    catch( LDAPException e ) {
      System.out.println( "Error:  " + e.toString());
    }

Fehlermeldung:
uid=test,ou=users
Error: LDAPException: Other (80) Other
LDAPException: Server Message: no structuralObjectClass operational attribute
LDAPException: Matched DN:
 
Zuletzt bearbeitet:
Zurück