获取 XDMP-TRIGGERMODULE: Could not find trigger module:
从 Amps 模块更新文档时出错。
触发器是否存在从放大器运行的问题?
设置用于 PayPal 付款验证,使用网络钩子(Hook)。 PayPal API 向 MarkLogic 服务器上的端点发送 HTTP 回调,通知服务器支付完成。然后端点代码处理消息,并将相关数据发送到放大器模块以供执行。这个想法是 webhook 需要访问公共(public)端点,因此它将在执行权限方面使用默认的公共(public)用户。使用 amp 以便代码可以具有更新文档的适当权限,并注意已收到付款。
一个单独的(不相关的)触发器被设置为在对上述相同文档的任何修改上运行,用于单独的不相关进程。当以所有其他方式修改文档时,此触发器运行得很好,如预期的那样,但由于某种原因,当 amp 模块修改文档时,将触发 XDMP-TRIGGERMODULE
错误,导致整个交易失败,并阻止 amp 代码执行(因此阻止支付完成被记录)。
我想知道放大器模块中完成的更新所触发的触发器是否存在某种问题?如果是这样,我怎样才能避免这个问题的发生?在这种特殊情况下甚至不需要触发代码,但它被设置为运行对这种特定类型文档的所有修改,我不确定在特殊情况下是否有办法防止这种情况发生。
感谢所有帮助!
最佳答案
如果您的组织得到 MarkLogic 的支持,我建议您通过他们。
否则,需要更多数据来帮助您。也许触发器代码和调用它的 amped 模块代码以及 amp 的设置方式和有关调用该模块的用户/角色的信息会很有用。
关于paypal - 在 Amps 中触发更新时出现 MarkLogic "Could not find trigger module"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56368153/