2013-05-02 75 views
0

我一直努力嘗試設置自定義ORBEON REST持久性,一直在掙扎一週。Orbeon 4.1自定義REST持久性

我使用Struts 2的MVC框架具有以下配置:

<action name="/crud/{appName}/{formName}/form/form.xhtml" class="com.example.CrudController" method="executeForm" /> 

<action name="/crud/{appName}/{formName}/data/{uuid}/data.xml" class="com.example.CrudController" method="executeData" /> 

<action name="/search/{appName}/{formName}" class="com.example.SearchController" /> 

的問題是,只有第一個動作被調用。

從表單生成器,當我點擊形式記錄(說「富」),這就是所謂的:

GET http://localhost:8080/mycontext/app/crud/myapp/library/form/form.xhtml 

注意,MYAPP是正確的應用程序名稱,但庫是不正確的形式名稱(應該是「foo」)。

從形式亞軍,當我嘗試了「foo」的摘要或新的網頁,這就是所謂的:

GET http://localhost:8080/mycontext/app/crud/myapp/foo/form/form.xhtml 

這一次的表單名稱是正確的,但是我預期/搜索/ ...呼代替。不過,我嘗試了xform xml或者查詢結果沒有成功的響應。

回答

1

/crud/myapp/library/form/form.xhtml的調用是正常的:它不是由Form Runner加載您的表單,而是加載您的應用專用的section templates庫,該庫存儲在保留的library表單名稱中。所以很可能您的持久性API實現應該返回404,因爲它沒有表單myapp/library

對於當您訪問myapp/foo的新頁面時查詢/crud/myapp/foo/form/form.xhtml,這只是Form Runner加載myapp/foo的表單定義。對搜索API的查詢僅由摘要頁面完成,以列出特定表單的數據。

+0

返回404,在GET myapp/library上,結果Form Builder總是打開一個空表單。我返回了一個虛擬的XML元素,它終於工作了!謝謝。 – Dimitris 2013-05-09 16:07:17