首页 > 解决方案 > 为什么在处理临时文档时将 2 个 uri 传递给触发器?

问题描述

一旦原始输入文档到达,我们使用触发器来触发 DHF 协调流。协调流程运行良好并创建了协调实体,但是我们在日志中也有错误协调失败。

输入文档是单时态的,并使用“temporal:statement-set-document-version-uri”函数保存,因此一旦新版本到达,文档的 uri 就会保持不变。错误消息示例:“插件中的错误 (PLUGIN-ERROR): XDMP-ASerr:XPTY00041.0-mlInvalid coercionXDMP-AS: (err:XPTY0004) $value as xs:string -- Invalid coercion: () as xs :stringfalse$value…”</p>

看起来,如果输入文档是新的,则文档 uri 和文档的时间 uri 集合都被传递给触发器。文档 uri 正在运行协调流,但时间 uri 集合导致日志中的错误。当输入文档是现有时间文档的新版本时,只有文档 uri 被传递给触发器并且一切正常。我希望在任何情况下,只有 document-uri 被传递给触发器。这是一个错误,还是设计使然?

标签: triggersmarklogicmarklogic-dhf

解决方案


推荐阅读