使用 Orbeon 表格 "List Forms Attachments" API
Using Orbeon Forms "List Forms Attachments" API
我们需要从一个简单的自动化脚本中获取 Orbeon 表单的附件。我们找到了 "List Forms Attachments" API (https://doc.orbeon.com/form-runner/api/persistence/list-form-data-attachments.html) 并尝试使用与 Orbeon Tomcat 实例在同一主机上运行的简单 "curl" 脚本来调用它:
curl -v "http://localhost:8080/orbeon/fr/service/$app/$form/attachments?document=$docid"
这个 returns 一个 HTTP 403(禁止),即使在阅读了我们可以找到的关于 Orbeon 安全性的任何文档之后,我们仍然在为如何配置 Orbeon 而绞尽脑汁。是否有一个简单的配置示例显示 Orbeon 配置,允许从像我们这样的本地脚本调用 API?我们是 运行 Orbeon CE 2017.1.
如果让这个 API 工作是一种考验,我们会考虑的另一个选择是数据库解决方案。我们在 MySQL 持久层上有 Orbeon 运行,我们使用的相同脚本也可以访问该数据库。有没有一种简单的方法来获取已提交表单的 XML 并获取给定表单字段的附件?
我们在提交的表单 XML 中看到附件标签如下所示:
<File1 filename="Original Filename.doc" mediatype="application/msword" size="14236">
file:/tmp/tomcat7-tomcat7-tmp/xforms_upload_7266596219758922423.tmp?filename=Original+Filename+doc&mediatype=application%2Fmsword&size=14236&mac=fc2febb1227e93643a048fbb02abc16bba346531
</File1>
当我们扫描 orbeon_form_data_attach 数据库 table 时,我们看到一行包含我们期望的文件内容,但是 file_name 列与表单中的文件信息不匹配XML 上面...在这个例子中,数据库上的 file_name 是 1af8cd16367470362e13f77e679c0ae590e1f4a5.bin
。我们的一些表格有多个附件,似乎没有直接的方法从表格 XML 到数据库 table 中的 file_name。
这些解决方案中的任何一个都适合我们 - 我们只需要一种从简单脚本获取表单附件的方法。
供参考,相关文档为Authorization of Pages and Services。
虽然这不是为了生产而只是为了测试和开发,但您可以在不进行身份验证的情况下打开所有服务。参见 this section. Otherwise, you need to setup an authorization service。
我们需要从一个简单的自动化脚本中获取 Orbeon 表单的附件。我们找到了 "List Forms Attachments" API (https://doc.orbeon.com/form-runner/api/persistence/list-form-data-attachments.html) 并尝试使用与 Orbeon Tomcat 实例在同一主机上运行的简单 "curl" 脚本来调用它:
curl -v "http://localhost:8080/orbeon/fr/service/$app/$form/attachments?document=$docid"
这个 returns 一个 HTTP 403(禁止),即使在阅读了我们可以找到的关于 Orbeon 安全性的任何文档之后,我们仍然在为如何配置 Orbeon 而绞尽脑汁。是否有一个简单的配置示例显示 Orbeon 配置,允许从像我们这样的本地脚本调用 API?我们是 运行 Orbeon CE 2017.1.
如果让这个 API 工作是一种考验,我们会考虑的另一个选择是数据库解决方案。我们在 MySQL 持久层上有 Orbeon 运行,我们使用的相同脚本也可以访问该数据库。有没有一种简单的方法来获取已提交表单的 XML 并获取给定表单字段的附件?
我们在提交的表单 XML 中看到附件标签如下所示:
<File1 filename="Original Filename.doc" mediatype="application/msword" size="14236">
file:/tmp/tomcat7-tomcat7-tmp/xforms_upload_7266596219758922423.tmp?filename=Original+Filename+doc&mediatype=application%2Fmsword&size=14236&mac=fc2febb1227e93643a048fbb02abc16bba346531
</File1>
当我们扫描 orbeon_form_data_attach 数据库 table 时,我们看到一行包含我们期望的文件内容,但是 file_name 列与表单中的文件信息不匹配XML 上面...在这个例子中,数据库上的 file_name 是 1af8cd16367470362e13f77e679c0ae590e1f4a5.bin
。我们的一些表格有多个附件,似乎没有直接的方法从表格 XML 到数据库 table 中的 file_name。
这些解决方案中的任何一个都适合我们 - 我们只需要一种从简单脚本获取表单附件的方法。
供参考,相关文档为Authorization of Pages and Services。
虽然这不是为了生产而只是为了测试和开发,但您可以在不进行身份验证的情况下打开所有服务。参见 this section. Otherwise, you need to setup an authorization service。