我們將Form Runner/Builder集成到具有自定義持久層的項目中。Form Runner持久性,會話Cookie
現在我們將emptySessionPath =「true」設置爲保持Orbeon和我們的Java應用程序在同一個會話中。
Orbeon被傳遞JSESSIONID的cookie的持久性CRUD通話......除了以下實例....
- 用戶連接到我們的Java應用程序和登錄,JSESSIONID cookie設置
- 用戶在/ FR/OurApp/formtest /編輯/ 3eb4ddcf03f2410084e5578adb1e2a7b訪問現有表單實例(會話cookie存在)
- 持續來電對我們定製的持久層製成,但cookie不會轉發
但是,如果用戶是先通過調用編輯表單本身來/ FR/orbeon /建設者/編輯/ f40efbe298204d16b6474fcdfea4c9fd這確實該cookie傳遞到持久層
此時用戶可以去參觀一步2來完成表單實例,並且cookie將會持續。似乎由於某種原因,在完成表單時,需要啓動表單構建器才能讓cookie轉發到持久層?
關於爲什麼cookie沒有通過第2步的任何想法?
僅供參考這是Orbeon 3.9 CE,也是3.8中的相同行爲。使用VMWare TC服務器(Tomcat)。我們的Java應用程序是一個Spring/Grails應用程序。
好的,在進一步的調查中似乎正在發生的是/ fr/app/form/edit/document沒有設置會話cookie的調用,所以沒有會話cookie轉發到持久層。 /fr/orbeon/builder/edit/document確實設置了一個會話cookie,所以這個調用和任何進一步的調用都會將一個會話cookie傳遞給持久層。 有人可以指點我如何得到/ fr/app/form/edit來設置會話cookie嗎? – 2012-04-28 03:36:54
甚至強制/ fr/app/form/edit來設置一個cookie對下一個持久層調用沒有任何影響。我看到的另一個區別是... /crud/app/form/form.xhtml?document=id的持久性標頭中缺少orbeon用戶名。一旦對/ fr/orbeon/builder/edit/document進行了調用,那麼cookie和頭文件就會出現在隨後的持久性調用中,但不會在使用/ fr/app/form/edit調用時開始。 – 2012-04-28 18:01:36
此外,我沒有看到任何CRUD調用檢索文件附件包括會話cookie。如果有人要將圖像上傳到他們的表單,從持久層獲取圖像將不會傳遞會話cookie。 – 2012-04-30 19:14:05