【问题标题】:MarkLogic "Could not find trigger module" error when update triggered in Amps在 Amps 中触发更新时出现 MarkLogic“找不到触发模块”错误
【发布时间】:2019-05-29 20:36:17
【问题描述】:

从 Amps 模块更新文档时出现 XDMP-TRIGGERMODULE: Could not find trigger module: 错误。

触发器是否有从放大器运行的问题?

设置用于使用 webhook 进行 PayPal 付款验证。 PayPal API 向 MarkLogic 服务器上的端点发送 HTTP 回调,通知服务器支付完成。然后端点代码处理消息,并将相关数据发送到 amps 模块以供执行。这个想法是 webhook 需要访问公共端点,因此它将在执行权限方面使用默认的公共用户。使用 amp 是为了让代码有适当的权限来更新文档,注意已收到付款。

一个单独的(不相关的)触发器被设置为在对上述相同文档的任何修改上运行,以用于单独的不相关进程。当以所有其他方式修改文档时,此触发器运行得非常好,符合其预期目的,但由于某种原因,当 amp 模块修改文档时,会触发 XDMP-TRIGGERMODULE 错误,导致整个事务失败,并阻止 amp 代码执行(从而阻止记录支付完成)。

我想知道在放大器模块中完成的更新触发触发器是否存在某种问题?如果是这样,我怎样才能避免这个问题发生?在这种特殊情况下甚至不需要触发代码,但它被设置为在对这种特定类型的文档的所有修改上运行,我不确定是否有办法在特殊情况下防止这种情况发生。

感谢您的所有帮助!

【问题讨论】:

  • 您可能依赖于分配给 amp 角色的触发器权限,而不是用户直接继承的角色。放大器角色很可能不会转移到触发器..

标签: paypal xquery marklogic paypal-rest-sdk


【解决方案1】:

如果您的组织得到 MarkLogic 的支持,我建议您通过他们。

否则,需要更多数据来帮助您。也许触发代码和调用它的 amped 模块代码以及如何设置 amp 以及有关调用模块的用户/角色的信息会很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 2015-07-09
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 2022-06-27
    • 1970-01-01
    相关资源
    最近更新 更多