Image du projet 'Connecteur LDAP' téléversée
  1. Connecteur LDAP
  2. LDAP-50

SYNCHRO LDAP - Attribut ETAT_OBJET aulieu de ETAT

XMLWordImprimable

    • Icon: Bug Bug
    • Résolution: Résolu
    • Icon: Mineur Mineur
    • master, 1.07.05
    • 1.07.04

      Contexte
      La synchronisation LDAP génère le fichier XML d'import des fiches annuaires.
      Elle permet par paramétrage d'importer le fiche à l'état brouillon selon la documentation : https://docs.ksup.org/version-6-7/developper/connecteurs-si/connecteur-ldap/synchronisation-des-utilisateurs-depuis-le-ldap-127183.kjsp?RH=13807430434103513.
      Il faut mettre le paramètre

      ldap.[type].etat_objet

      Cette valeur est bien prise en compte et le fichier XML comporte qqch comme ça

      <ENTETE>
      <OBJET>ANNUAIREKSUP</OBJET>
      <ACTION>IMPORTER</ACTION>
      <CODE>10833</CODE>
      <LANGUE>0</LANGUE>
      <ETAT_OBJET>0001</ETAT_OBJET>
      </ENTETE>
      

      Anomalie
      La valeur attendue par l'import XML pour changer l'état est

      <ETAT>0001</ETAT>

      Aussi, ETAT_OBJET est ignoré et la fiche n'est pas créée à l'état brouillon.

      Le code fautif :

      com.kosmos.ldap.batch.XMLManagerAnnuaire#setEnteteFiche
          @Override
          public void setEnteteFiche(final AnnuaireModele annuaire, final Node ficheEntete) throws Exception {
              //on ajoute l'entete avec le même code que l'utilisateur.
              final String code = annuaire.getCode();
              String langue = paramLdapSynchroUser.getObjAnnuaire().getSLangue();
              if (langue == null || langue.length() == 0 || langue.length() > 1) {
                  langue = "0";
              }
              ajouterNodeFiche(ficheEntete, "objet", ReferentielObjets.getNomObjet(annuaire).toUpperCase(), true);
              ajouterNodeFiche(ficheEntete, "action", "IMPORTER", true);
              ajouterNodeFiche(ficheEntete, "code", code, true);
              ajouterNodeFiche(ficheEntete, "langue", langue, true);
              ajouterNodeFiche(ficheEntete, "etat_objet", paramLdapSynchroUser.getObjAnnuaire().getSEtatObjet(), true);
          }
      

      Pour patcher rapidement, il suffit de remplacer etat_objet par etat

            francois-xavier.lebastard François-xavier LEBASTARD [X] (Inactif)
            francois-xavier.lebastard François-xavier LEBASTARD [X] (Inactif)
            Votes:
            0 Voter pour ce ticket
            Gérer les observateurs:
            2 Démarre l'observation de ce ticket

              Création:
              Mise à jour:
              Résolue: