1

XPage で、次のコードを使用してドキュメントの MIME エンティティからテキストを読み込みます。

var dcl:NotesDocumentCollection=database.getView("myView").getAllDocumentsByKey("key",true);
var doc:NotesDocument=dcl.getFirstDocument();
var entity:NotesMIMEEntity=doc.getMIMEEntity("data");
var text=entity.getContentAsText();

これはエラーなしで機能します。データベースsessionAsSigner.getCurrentDatabase()で置き換えると、 MIME エンティティが nullであることを示すエラーが発生します(テスト環境 = サーバー: Notes 8.5.3 | クライアント: Firefox 15)。コードを手動でデバッグして得た追加情報を次に示します。

  • sessionAsSigner は有効な NotesSession オブジェクトです
  • doc は、私にとって読み取り可能な有効な NotesDocument です。つまり、getItemValue メソッドを使用してもエラーは発生しません。
  • doc.hasItem("data") が true、つまり MIME エンティティ フィールドが存在する

ただし、doc.getMIMEEntity("data") を使用すると、空でなくても null が返されます。この問題は、作成者フィールドと読者フィールドのないドキュメントでも発生します。sessionAsSignerを使用すると、ドキュメントを開いてアイテムの値を取得できるのに、MIME エンティティを読み取ることができないのはなぜですか?

4

1 に答える 1