背景如何將Orbeon Forms嵌入到ASP.Net MVC3應用程序中?
我調查使用Orbeon形式通過構建一個簡單的應用程序MVC3推測的東西 出融入我們的 ASP.NET MVC3 Web應用程序。
我有一個運行Tomcat 7和Orbeon 3.9.1 PE 我們的HyperV服務器的Win2008 R2 std服務器試用版。這是行得通的,我可以創建表單,然後使用表單提交數據。
我在我的本地開發機器上創建了一個空的MVC3應用程序。它在主頁控制器上有一個 索引操作,該操作返回一個頁面,該頁面有一個 鏈接,用於在Orbeon 安裝中添加一些表單的新URL。這些鏈接訪問主控制器 上的添加操作,該操作使用WebRequest對象,並在末尾添加了標記爲?orebeon-embeddable = true的 查詢字符串參數,以獲取Orbeon提交表單頁面的 的定義。我將中的相對URL替換爲絕對路徑。然後我將它插入到基本視圖中,然後顯示它。
問題
無論其!只要我確實與Orbeon表單交互,例如點擊單行文本框內的字段(IE9)我在腳本文件「orbeon- [random guid style value] .js」中獲得了一個JS錯誤 ,行121與 「AjaxServer.exceptionWhenTalkingToServer(e,formID)」 突出顯示錯誤是「formID未定義」。
我不知道從哪裏開始尋找這裏,因爲我不熟悉 Tomcat,只知道我可以從Orbeon文檔中解讀什麼。
有人試圖嵌入這樣的形式亞軍,並體驗這種 錯誤?
我想下一步
[更新]:MVC的JSON()方法讓我思考,也許 Orbeon試驗場我建立在虛擬機不喜歡的事實,它是 從我的開發機器上的MVC應用程序獲取AJAX請求。有了這個 介意我試着從 dzhuvinov.com安裝CORS過濾器到Orbeon應用程序。根據將相關 配置添加到web.xml文件後的文檔,默認行爲是非限制性的,即它應該讓所有內容都通過。不幸的是 恢復Tomcat後,這並沒有幫助。
[更新2]:好好像CORS文檔是有點過時的和 默認看似相反如此設定的初始值 爲似乎有點那種出 - 雖然IE9仍然得到 JS錯誤消息。與此同時,在FireFox 12事情會好轉,但 現在的問題是如何通過JSESSIONID cookie Orbeon發送我 當我嵌入亞軍在MVC視圖,這樣當你 觸發Orbeon形式的任何AJAX發送JSESSIONID Cookie也是如此。
你看過Orbeon [嵌入和代理Orbeon窗體](http://wiki.orbeon.com/forms/doc/contributor-guide/proxying-orbeon-forms)doc嗎?它提到了cookie轉發等。另見[Orbeon Proxy Portlet](https://github.com/orbeon/orbeon-forms/blob/master/src/scala/org/orbeon/oxf/portlet/OrbeonProxyPortlet.scala )。不要說這些例子很容易! – ebruchez
是的,我做過了 - 問題是根據標題,這是ASP.NET MVC3(即.NET)而不是Java,因此很多文檔都是針對這一點,而沒有考慮更廣泛的集成。最後我寫了一個簡單的代理。 – Peter