Orbeon 4.1自定义REST持久性

时间:2013-05-02 15:11:28

标签: rest orbeon

尝试设置自定义ORBEON 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" />

问题是只有第一个动作被调用。

从表单构建器中,当我单击表单记录(例如“foo”)时,这称为:

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

请注意,myapp是正确的应用程序名称,但库不是正确的表单名称(应该是“foo”)。

从Form Runner,当我尝试“foo”摘要或新页面时,这称为:

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

这次表单名称是正确的,但我希望改为/ search / ...。不过我尝试使用xform xml或查询结果都没有成功。

1 个答案:

答案 0 :(得分:1)

/crud/myapp/library/form/form.xhtml的调用是正常的:Form Runner不会加载表单,而是加载特定于应用程序的section templates库,该库存储在保留的{{1}中表单名称。因此,很可能您的持久性API实现应返回404,因为它没有library形式。

当您访问myapp/library的新页面时,对/crud/myapp/foo/form/form.xhtml的查询,这只是加载myapp/foo的表单定义的Form Runner。搜索API的查询仅由摘要页面完成,以列出特定表单的数据。