目前,我正在尝试将一个检索用户名的 Orbeon 表单集成到 Liferay 中。(我在这里描述了这个问题:http: //discuss.orbeon.com/Unable-to-retrieve-liferay-roles-in-Orbeon-proxy-portlet-td4656273.html - Post 2)
为此,我创建了一个带有一个输入字段的简单表单,并且我想在该字段中获取 Liferay 用户名。我测试了所有小写的配置(Unable to retrieve Header information on Orbeon 4.0.1 but works on 3.9)并且没有返回任何内容。
首先:我使用http://wiki.orbeon.com/forms/doc/developer-guide/admin/deployment-portlet完成了 properties-local.xml并将所有属性都放在小写中。
属性-local.xml:
<!-- this is the property for orbeon forms 4.0 -->
<property as="xs:anyuri" name="oxf.fr.persistence.exist.exist-uri"
value="http://orbeonserver:8080/orbeon/exist/rest/db/orbeon/fr"/>
<!-- configure authentication properties through headers -->
<property as="xs:string" name="oxf.fr.authentication.method"
value="header"/>
<!-- if you want the liferay user email used for form runner authentication -->
<property as="xs:string" name="oxf.fr.authentication.header.username"
value="orbeon-liferay-user-email"/>
<!-- if you want liferay roles used -->
<property as="xs:string" name="oxf.fr.authentication.header.roles"
value="orbeon-liferay-user-roles"/>
<!-- to propagate username/roles to the persistence layer, if using authentication -->
<property as="xs:string" name="oxf.xforms.forward-submission-headers"
value="orbeon-username orbeon-roles"/>
在我的表单中,我使用 xxf:get-request-header() 来获取 Liferay 用户名:
<xf:bind id="userName-bind" name="userName" ref="userName"
xxf:default="xxf:get-request-header('orbeon-liferay-user-email')"/>
最后为了在 Liferay 中插入表单,我使用了 orbeon proxy-portlet.war(这边没有配置)。
我看到了表格,但字段仍然是空的。什么都没有返回。我错过了一步?
仅供参考,我使用了:liferay-portal-6.1.1-ce-ga2 和 orbeon-4.0.1.201303152357-PE(免费试用许可证)。Orbeon 和 Liferay 位于 2 个不同的服务器上。