私は従来のNotesアプリケーションを更新することを任されています。 APIごととして、私は、データがフォーマットでAJAX/Domino Data Service APIを使用してLotus Notesリッチテキストフィールドを更新する
FieldName: { contentType: 'text/html', data: newData, type: 'richtext' }
であれば、リッチテキストフィールドを更新することができるはずです(もちろん、JSONにシリアライズ)
しかし、何が起こるかは、元のRTフィールドが取得するということです3つのMIMEパートフィールド(同じ名前で、あなたが期待するものを含む、"Content-Type: multipart/mixed"
、"boundary"
など)に置き換えられ、"newData"
は添付ファイル$FILE
に格納されます。また、MIME固有のフィールドもほとんどドキュメントに追加されません($MIMETrack
、$NoteHasNativeMIME
、MIME_Version
)。
Notesのドキュメントが実際の機能と一致しないのは初めてのことではありませんが、誰かがこれを正常に実行できたかどうかは疑問でした。あるいは、AJAX経由でRTフィールドを更新する他の方法(できればHTTP PATCH)?
編集:これ以上の検査では、これは構成の問題であるようです。私は、RTフィールドを持つ文書からGETをやってみました(つまり、通常のWebフォームから送信されたテキスト「テストRTフィールド」を、含まれている)、期待される結果が
"FieldName": {
"contentType":"text/html",
"data":"testing rt field",
"type":"richtext"
}
ではなく、どのようなAPIによるとされるだろう返されたので、私はどこかに私たちのドミノ設定に問題がある推測している
(フォーマットのため申し訳ありません)"FieldName": {
"type":"multipart",
"content": [
{
"contentType":"multipart\/alternative; Boundary=\"0__=4DBB0A82DFA47A268f9e8a93df938690918c4DBB0A82DFA47A26\"",
"contentDisposition":"inline"
},
{
"contentType":"text\/plain; charset=US-ASCII",
"data":"testing rt field",
"boundary":"--0__=4DBB0A82DFA47A268f9e8a93df938690918c4DBB0A82DFA47A26"
},
{
"contentType":"text\/html; charset=US-ASCII",
"contentDisposition":"inline",
"data":"<html><body><font size=\"2\" face=\"sans-serif\">testing rt field<\/font><\/body><\/html>",
"boundary":"--0__=4DBB0A82DFA47A268f9e8a93df938690918c4DBB0A82DFA47A26"
}
]
}
です。どこに、私は考えていない、どのようなヒントをいただければ幸いです。
FWIWでは、サーバーでDomino 8.5.3 UP1が実行されています。9.xへの更新は実際にはオプションではありません。 – wutnau
ドキュメントには、「添付ファイルや埋め込みオブジェクト、または添付ファイルや埋め込みオブジェクトのリッチテキストフィールドを作成または更新しようとすると、エラー400(Bad Request)が返されます」リッチテキストとMIMEは100%互換性があるので、そこにいくつかの問題が予想されるかもしれません。ドキュメントを更新するためにJavaまたはLotusScriptエージェントではなく、(新しい)APIを使用する理由はありますか? –
newDataは有効なhtmlですか? –