HTML5 Forms Service Proxy是一種設定,可註冊提交服務的Proxy。 若要設定服務代理,請透過request參數submissionServiceProxy指定提交服務的URL。
服務代理消除了以下問題:
HTML5表格可使用下列拓撲來連線至AEM伺服器。
HTML5表單服務代理拓撲
HTML5表格會連線至AEM伺服器,以執行伺服器端的指令碼、web-services和提交。 HTML5表單的XFA執行時期會使用「/bin/xfaforms/submitaction」端點上的Ajax呼叫,以及各種參數,以連線至AEM伺服器。 HTML5表格會連接AEM伺服器,以執行下列作業:
標籤為在伺服器上運行的指令碼稱為伺服器端指令碼。 下表列出伺服器端指令碼和網站服務中使用的所有參數。
參數 |
說明 |
活動 |
活動包含觸發請求的事件。 例如點按、退出或變更 |
contextSom |
contextSom包含執行事件之物件的SOM運算式。 |
範本 |
範本包含用於轉換表單的範本。 |
contentRoot |
contentRoot包含用於呈現表單的模板根目錄。 |
資料 |
資料包含用於轉換表單的位元組。 |
formDom |
formDom包含JSON格式之HTML5表單的DOM。 |
分組 |
包指定為表單。 |
debugDir |
debugDir包含用於呈現表單的調試目錄。 |
按一下提交按鈕後,HTML5表格會傳送資料至伺服器。 下表列出HTML5表單傳送至伺服器的所有參數。
參數 |
說明 |
範本 |
用於呈現表單的範本。 |
contentRoot |
用於呈現表單的模板根目錄。 |
資料 |
用於轉換表單的bata位元組。 |
formDom |
JSON格式的HTML5表單DOM。 |
提交url |
發佈資料XML的URL。 |
debugDir |
用於呈現表單的調試目錄。 |
如果提交URL不存在於請求參數中,則提交服務代理將充當傳遞。 它起到傳遞作用。 它將請求發送到/bin/xfaforms/submitaction端點,並將響應發送到XFA運行時。
如果提交URL存在於請求參數中,則提交服務代理會選擇拓撲。
如果AEM伺服器張貼資料,代理服務會當成傳遞。 它將請求發送到/bin/xfaforms/submitaction端點,並將響應發送到XFA運行時。
如果Proxy發佈資料,則proxy服務會將submitUrl以外的所有參數傳遞至/bin/xfaforms/submitaction端點,並接收回應串流中的xml位元組。 然後,代理服務會將資料xml位元組發佈至submitUrl以進行處理。
在傳送資料(POST要求)至伺服器之前,HTML5表格會確認伺服器的連線性與可用性。 為了驗證連線性和可用性,HTML表格會傳送空標頭要求至伺服器。 如果伺服器可用,HTML5表單會傳送資料(POST要求)至伺服器。 如果伺服器不可用,將顯示一條錯誤消息Could』t connect to the server,。 進階偵測可避免使用者重新填寫表格的麻煩。 代理servlet處理頭請求且不拋出異常。