J'ai un document dans lequel je dois créer une nouvelle entité MIME (un champ) remplie avec un contenu binaire. J'utilise
MIMEEntity mimeE = doc.getMIMEEntity(fieldName);
pour le créer. Bien entendu, lorsque je répète cette opération avec un document existant dans lequel l'élément se trouve déjà, j'obtiens une erreur indiquant que l'élément existe déjà lorsque j'enregistre le document.
L'entité MIMEEntity a une entité enfant, mon approche consistait donc à supprimer cette dernière avant de supprimer l'élément (ce qui ne fonctionnera pas et ne résoudra pas mon problème en général) ;
if (mimeE != null) {
MIMEEntity child = mimeE.getFirstChildEntity();
while(child!=null){
MIMEEntity ent = child.getNextEntity();
child.remove();
child.recycle();
child = ent;
}
mimeE.remove();
mimeE.recycle();
doc.removeItem(fieldName);
}
La ligne où je retire finalement l'objet lui-même a fait planter le serveur. Je n'ai aucune idée de comment supprimer entièrement cet élément (MIME) juste pour répondre aux besoins de Domino lorsque je crée un "nouveau" document (en remplaçant l'ancien par un nouveau contenu).
Toute meilleure pratique à cet égard serait appréciée.