HTML5表單服務代理是用於註冊提交服務代理的配置。 要配置服務代理,請通過請求參數submissionServiceProxy指定提交服務的URL。
服務代理消除了以下內容:
HTML5表單可使用下列拓撲來連線至AEM伺服器。
HTML5表單服務代理拓撲
HTML5表單會連線至AEM伺服器,以執行伺服器端指令碼、網站服務和提交。 HTML5表單的XFA執行階段會使用「/bin/xfaforms/submitaction」端點上的Ajax呼叫,搭配各種參數以連線至AEM伺服器。 HTML5表單會連接AEM伺服器以執行下列操作:
標籤為在伺服器上運行的指令碼稱為伺服器端指令碼。 下表列出了伺服器端指令碼和Web服務中使用的所有參數。
參數 |
說明 |
活動 |
活動包含觸發請求的事件。 例如點按、退出或變更 |
contextSom |
contextSom包含執行事件之物件的SOM運算式。 |
範本 |
模板包含用於呈現表單的模板。 |
contentRoot |
contentRoot包含用於呈現表單的模板根目錄。 |
資料 |
資料包含用於呈現表單的bata位元組。 |
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伺服器發佈資料,Proxy服務會作為傳遞。 它會將請求發送到/bin/xfaforms/submitaction端點並將響應發送到XFA運行時。
如果代理發佈資料,則代理服務會將submitUrl以外的所有參數傳遞到/bin/xfaforms/submitaction端點,並在響應流中接收xml位元組。 接著,代理服務會將資料xml位元組發佈至submitUrl以進行處理。
在將資料(POST請求)傳送至伺服器之前,HTML5表單會驗證伺服器的連線性和可用性。 為了驗證連接性和可用性,HTML表單會向伺服器發送空頭請求。 如果伺服器可用,HTML5表單會將資料(POST請求)傳送至伺服器。 如果伺服器不可用,則會顯示錯誤消息無法連接到伺服器,。 進階偵測可避免使用者重新填寫表單的麻煩。 代理Servlet處理頭請求,且不會引發異常。