写点什么

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

作者:Jerry Wang
  • 2022 年 10 月 01 日
    四川
  • 本文字数:976 字

    阅读完需:约 3 分钟

体验 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



发布于: 刚刚阅读数: 4
用户头像

Jerry Wang

关注

🏆InfoQ写作平台-签约作者🏆 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。工作中使用 ABAP, Java, JavaScript 和 TypeScript 进行开发。

评论

发布
暂无评论
体验 Orbeon form PE 版本提供的 JavaScript Embedding API_Java_Jerry Wang_InfoQ写作社区