【发布时间】:2019-01-11 16:13:22
【问题描述】:
使用 MarkLogic DHF,我试图从我的协调流程中调用一个 json 验证函数。除了验证函数没有找到架构外,其余的流程都运行良好。协调文件最终所在的 *-FINAL DB 关联了我的 *-SCHEMAS db,并且我的模式文件存储在该 *-SCHEMAS db 中的简单 URI 下。如何确定 DHF 协调流程在哪里寻找架构?
更新:通过反复试验,我确定在将我的 json 模式加载到我的服务器的基本“模式”数据库后,协调流程能够为 jsonValidate() 函数找到它。但我不明白为什么它在最终模式数据库中找不到它,这是构建加载模式的地方。
更新 2.0:使用下面的@grtjn 建议,我确定协调流的当前数据库不是最终数据库,而是暂存数据库。因此,当我在暂存模式数据库中手动加载模式时(具有适当的权限),流程会找到它。所以现在我只需要弄清楚如何让 gradle deploy 将架构放入暂存架构数据库而不是最终架构数据库。
【问题讨论】:
-
Schemas db 通常由内容数据库确定(它是其属性之一)。确认您的代码是否确实在针对预期的内容数据库(例如
xdmp.log(xdmp.databaseName()))运行,然后验证该内容数据库是否已正确配置为使用您期望的模式数据库。
标签: json marklogic marklogic-dhf