体验 Orbeon form PE 版本提供的 JavaScript Embedding API

链接:https://www.orbeon.com/download

在实际项目中,如果需要使用到某些高级功能,比如 The Form Runner JavaScript Embedding API,需要使用 Professional Edition 即 PE 版本。

点击 Free trial license:

得到 license xml 文件:

将该文件放到下面的文件夹内:

C:\app\tomcat-9.0.56\webapps\orbeon\WEB-INF\resources\config

启动 tomcat,就能看到这个 license 信息了:

如果您使用的是 JavaScript 嵌入 API,则您的应用程序可能不是基于 Java 的。 这意味着 Orbeon Forms 和您的应用程序可能运行在不同的服务器或不同的端口上。

所有浏览器请求,无论是针对使用嵌入 API 的应用程序页面,还是针对 Orbeon Forms 资源,都需要发送到相同的服务器和端口。 您有责任设置该服务器,以便将对 Orbeon Forms 的请求转发到 Orbeon Forms 服务器,如下图所示。 具体如何操作取决于您使用的服务器端技术。 例如:

  • 如果您使用的是 Apache HTTP Server,则可以使用 mod_rewrite 模块来完成。
  • 如果您使用的是 Microsoft IIS,则可以使用 IIS 管理器通过创建反向代理规则来配置它。

Requests to forward

您可以根据路径(通常为 /orbeon)识别对 Orbeon 表单的请求。

对于 Java Web 应用程序,路径的第一部分称为“上下文”,您可以在 /orbeon 以外的上下文中部署 Orbeon Forms,例如 /forms。但是,在下文中,我们将假设你保留了 /orbeon.

Forwarding the JSESSIONID cookie

转发 HTTP 请求时,您需要确保正确转发 JSESSIONID cookie。 例如,您可以使用“网络”选项卡使用 Chrome 开发工具进行检查。

必须确保:

  1. 浏览器第一次向 Orbeon Forms 发出请求,即路径以 /orbeon 开头,响应设置 JSESSIONID cookie。

  2. 在对 Orbeon Forms 发出的每个后续请求中,之前设置的 JSESSIONID cookie 由浏览器发送,服务器不会反过来在响应中设置另一个 JSESSIONID。 (即浏览器发送到服务器的 JSESSIONID cookie 的值在会话期间不应更改。)

JavaScript to include

在要嵌入表单的页面中,通过在页面的 <head> 中添加此元素来包含以下 JavaScript:

<script 
    type="text/javascript" 
    src="/orbeon/xforms-server/baseline.js?updates=fr"></script>

最后的效果:

浏览器里访问如下 url:

http://localhost:8080/orbeon/xforms-server/9dec6873e9657be6507280663b37d44fb6d41d24/orbeon-3c8754987a96cfff499a81851eeef82db45816b5.js

更多Jerry的原创文章,尽在:"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/15706996.html