Ich habe die OpenNTF ODA für Java in Xpages angenommen. Es ist wirklich großartig, und ich denke, ich habe gerade die Oberfläche berührt.Xpages: Java-Methode mit OpenNTF ODA nicht speichern Dokument
Ich rufe eine Java-Methode und möchte ein Dokument speichern. Die Methode wird aufgerufen, und ich sehe keine Fehler, aber das Dokument wird nie aktualisiert.
Das Dokument wird "gespeichert", aber es verschwindet nur aus den Ansichten.
import lotus.domino.NotesException;
import org.openntf.domino.*;
import org.openntf.domino.utils.Factory;
import org.openntf.domino.Database;
import org.openntf.domino.Session;
import java.io.Serializable;
public class Build implements Serializable {
private static final long serialVersionUID = 1L;
public void process1(String docID) {
try {
System.out.println("Got here.");
Session session = Factory.getSession();
Database thisDB = session.getCurrentDatabase();
Database PCDataDB = session.getDatabase(thisDB.getServer(), "scoApps\\PC\\PCData.nsf", false);
Document thisDoc = PCDataDB.getDocumentByUNID(docID);
Item itm = thisDoc.replaceItemValue("status",2, true);
thisDoc.save(true,false);
System.out.println("Got here.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Gibt es alle SYSOUT-Anweisungen aus? Mir ist nichts bewusst, was dort ein Problem verursachen sollte. Ich habe den dritten Parameter für replaceItemValue() nicht wirklich verwendet, aber die Tatsache, dass er verschwindet, deutet darauf hin, dass kein Fehler ausgegeben wird. Wenn ich mir den Code anschaue, kann ich keinen Fehler im Code sehen und habe den aktuellen ODA in der Demo-Datenbank ausprobiert. Es wird korrekt als Zusammenfassungsfeld festgelegt und der Wert wird in einer Spalte in der Ansicht angezeigt. Es lohnt sich möglicherweise, org.opentnt.0.0.log zu überprüfen, um zu überprüfen, ob ODA selbst Fehler verursacht. –
Ich habe noch nie den dritten Parameter verwendet, obwohl ich bezweifle, dass das das Problem ist. Normalerweise erstelle ich auch kein "item itm" -Objekt, um nur einen Wert zu schreiben. Wenn du nichts mit "itm" machst, brauchst du es nicht. Etwas anderes passiert. Möglicherweise was Rob Mason vorschlägt. Ich würde auch vorschlagen, den xpages Protokollleser auch zu installieren. –
Es werden die Systemanweisungen ausgedruckt. Ich habe nur die dritte Stufe eingegeben, um zu sehen, ob es einen Unterschied macht. Die seltsame Sache ist, dass wenn ich mit dem Debugger durchgehe, ich das Dokument sehen kann, aber ich sehe nicht die Felder, die ich sehen sollte. –