2013-04-12 35 views
0

當前,我正在嘗試將Liferay one Orbeon表單集成到檢索用戶名的Orbeon表單中。 (我這裏所描述的問題:http://discuss.orbeon.com/Unable-to-retrieve-liferay-roles-in-Orbeon-proxy-portlet-td4656273.html - 發佈2)無法檢索Orbeon代理portlet中的liferay用戶名

要做到這一點,我創建了一個簡單的形式與一個輸入字段,我想在這個領域獲得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後:獲得請求頭()來獲取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個不同的服務器上。

回答

0

你可能想嘗試一個非常最近Orbeon代理門戶(從GitHub 4.1-CE)的版本,因爲下面的問題只拿到一個月前收盤:
https://github.com/orbeon/orbeon-forms/issues/886「代理門戶:能力配置頭的轉發和參數」。因此,Orbeon代理portlet的4.01版本缺乏這種能力。

+0

我用自己的proxy-portlet測試了Orbeon Forms 4.1.0.M1.201303290130,得到了同樣的結果。 我將Liferay配置爲使用Charles作爲代理。我想要Liferay和Orbeon之間的更多信息。 當我在Charles中檢查HTTP頭時,只有一個Orbeon特定變量:'Orbeon-Client'(永遠不會是orbeon-liferay-user-email或orbeon-liferay-user-roles)。 – Sefer