私はXpagesでjavaのOpenNTF ODAを採用しました。これまでのところ本当に素晴らしいですし、私は表面に触れたと思います。Xpages:OpenNTFを使ったJavaメソッドODAは文書を保存していません
Javaメソッドを呼び出していて、ドキュメントを保存したいとします。メソッドが呼び出され、エラーは表示されませんが、ドキュメントは更新されません。
ドキュメントは「保存」されていますが、ビューからは消えるだけです。
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();
}
}
}
すべてのsysoutステートメントを出力しますか?私はそこに問題を引き起こすべきであることを知らない。私は実際にreplaceItemValue()の3番目のパラメータを使用していませんが、それが消えるという事実はエラーを投げていないことを示唆しています。コードを見ると、コードにエラーが表示されず、デモ・データベースで現在のODAを試してみました。要約フィールドとして正しく設定され、その値がビューの列に表示されます。 org.openntf.0.0.logをチェックして、ODA自体が投げたエラーはないことを再確認する価値があります。 –
私はそれが問題だとは思っていますが、私は3番目のパラメータも使用していません。私はまた、通常、値を書くための "Item itm"オブジェクトを作成しません。あなたが "itm"で何もしないなら、あなたはそれを必要としません。他に何かが起こっている。おそらく、Rob Masonが示唆しているもの。また、xpagesログリーダーもインストールすることをお勧めします。 –
システムステートメントを出力します。私はそれが違いを生み出したかどうかを見るために3番目のパラメを置くだけです。奇妙なことは、私がデバッガをステップスルーしたときに私はドキュメントを見ることができますが、私は見ていなければならないフィールドを見ていないということです。 –