HTML5表单服务代理是用于为提交服务注册代理的配置。 要配置服务代理,请通过请求参数submissionServiceProxy指定提交服务的URL。
服务代理消除以下情况:
HTML5表单可以使用以下拓扑连接到AEM服务器。
HTML5表单服务代理拓扑
HTML5表单连接到AEM服务器以运行服务器端脚本、Web服务和提交。 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 |
用于呈现表单的调试目录。 |
如果请求参数中不存在submiturl,则提交服务代理将充当传递。 它充当传递。 它将请求发送到/bin/xfaforms/submitaction端点,并将响应发送到XFA运行时。
如果请求参数中存在提交url,则提交服务代理将选择拓扑。
如果AEM服务器发布数据,则代理服务充当传递。 它将请求发送到/bin/xfaforms/submitaction端点,并将响应发送到XFA运行时。
如果代理发布数据,则代理服务将submitUrl以外的所有参数传递给/bin/xfaforms/submitaction端点,并在响应流中接收xml字节。 然后,代理服务将数据xml字节发布到submitUrl进行处理。
在向服务器发送数据(POST请求)之前,HTML5表单会验证服务器的连接性和可用性。 为验证连接性和可用性,HTML表单向服务器发送空头请求。 如果服务器可用,则HTML5表单会向服务器发送数据(POST请求)。 如果服务器不可用,则显示一条错误消息无法连接到服务器,。 提前检测功能可防止用户重新填写表单的麻烦。 代理servlet处理头请求且不引发异常。