Form Runner/Builder をカスタム永続化レイヤーを使用してプロジェクトに統合しています。
現在、Orbeon と Java アプリを同じセッションに維持するために emptySessionPath="true" を設定しています。
Orbeon は永続性 CRUD 呼び出しで jsessionid Cookie を渡しています...次のインスタンスを除いて....
- ユーザーが Java アプリに接続してログインすると、jsessionid Cookie が設定されます
- ユーザーが /fr/OurApp/formtest/edit/3eb4ddcf03f2410084e5578adb1e2a7b にある既存のフォーム インスタンスにアクセスします (セッション Cookie が存在します)。
- カスタム永続レイヤーに対して永続呼び出しが行われますが、Cookie は転送されません
ただし、ユーザーが最初に /fr/orbeon/builder/edit/f40efbe298204d16b6474fcdfea4c9fd を呼び出してフォーム自体を編集すると、永続レイヤーに Cookie が渡されます。
この時点で、ユーザーはステップ 2 にアクセスしてフォーム インスタンスを完成させることができ、Cookie は保持されます。何らかの理由で、フォームを完成させるときに Cookie を永続化レイヤーに転送するには、フォーム ビルダーを起動する必要があるようです。
ステップ 2 で Cookie が渡されない理由について何か考えはありますか?
参考までに、これは Orbeon 3.9 CE であり、3.8 でも同じ動作です。VMWare TC サーバー (Tomcat) を使用します。私たちの Java アプリは Spring/Grails アプリです。