在 Orbeon 4.9 上执行提交
Performing submissions on Orbeon 4.9
升级到 Orbeon 4.9
后执行提交时遇到一些问题。
以以下提交为例:
<xf:submission action="http://localhost:7001/orbeon49/getValuesServlet"
id="OPEN_DOCUMENT"
method="post"
ref="instance('fr-form-instance')"
replace="instance">
</xf:submission>
并调用提交,使用了以下代码:
<xf:action ev:event="xforms-ready">
<xf:send submission="OPEN_DOCUMENT"/>
</xf:action>
提交应该调用驻留在 Orbeon
应用程序中的 servlet
,该应用程序响应更新实例 XML
的 XML
。在 4.9 版中,从不调用 servlet,提交失败。
在 4.6 版中,这工作正常。
我恢复到 4.7 版只是为了尝试比 4.6 更高的版本是否有所作为并且它在 4.7 上也能正常工作。
那么,这是否意味着我们需要在 4.9 上调用提交的方式发生了变化?
这可能是由于实施了 internal requests。 Orbeon Forms,自 4.7 起,将对自身的请求视为内部请求,并且不使用实际的 HTTP 连接。然而,这将无法调用 Orbeon 网络应用程序中的 servlet。
Orbeon Forms 通过创建绝对 URL 来猜测内部请求,然后检查它是否与自身匹配的路径,例如 http://localhost:8080/orbeon/
您可以通过使用绝对 URL 来欺骗它仍然导致该 servlet,例如 http://127.0.0.1:8080/orbeon/
.
升级到 Orbeon 4.9
后执行提交时遇到一些问题。
以以下提交为例:
<xf:submission action="http://localhost:7001/orbeon49/getValuesServlet"
id="OPEN_DOCUMENT"
method="post"
ref="instance('fr-form-instance')"
replace="instance">
</xf:submission>
并调用提交,使用了以下代码:
<xf:action ev:event="xforms-ready">
<xf:send submission="OPEN_DOCUMENT"/>
</xf:action>
提交应该调用驻留在 Orbeon
应用程序中的 servlet
,该应用程序响应更新实例 XML
的 XML
。在 4.9 版中,从不调用 servlet,提交失败。
在 4.6 版中,这工作正常。
我恢复到 4.7 版只是为了尝试比 4.6 更高的版本是否有所作为并且它在 4.7 上也能正常工作。
那么,这是否意味着我们需要在 4.9 上调用提交的方式发生了变化?
这可能是由于实施了 internal requests。 Orbeon Forms,自 4.7 起,将对自身的请求视为内部请求,并且不使用实际的 HTTP 连接。然而,这将无法调用 Orbeon 网络应用程序中的 servlet。
Orbeon Forms 通过创建绝对 URL 来猜测内部请求,然后检查它是否与自身匹配的路径,例如 http://localhost:8080/orbeon/
您可以通过使用绝对 URL 来欺骗它仍然导致该 servlet,例如 http://127.0.0.1:8080/orbeon/
.