MarkLogic «Не удалось найти модуль триггера», когда обновление запускается в амперах - PullRequest
1 голос
/ 29 мая 2019

Получение ошибки XDMP-TRIGGERMODULE: Could not find trigger module: при обновлении документа из модуля Amps.

Есть ли у триггеров проблемы с усилителями?

Настройка предназначена для подтверждения оплаты через PayPal с помощью веб-хуков. API PayPal отправляет обратный вызов HTTP конечной точке на сервере MarkLogic, уведомляя сервер о завершении платежа. Затем код конечной точки обрабатывает сообщение и отправляет соответствующие данные в модуль усилителей для исполнения. Идея заключается в том, что webhook должен достичь общедоступной конечной точки, поэтому он будет использовать общедоступного пользователя по умолчанию с точки зрения разрешений на выполнение. Усилитель используется, чтобы код мог иметь соответствующие разрешения для обновления документа, отмечая, что платеж получен.

Отдельный (не связанный) триггер настроен для запуска любой модификации того же вышеупомянутого документа в целях отдельного несвязанного процесса. Этот триггер работает отлично, когда документ модифицируется другими способами, как и предполагалось, но по какой-то причине, когда модуль amp модифицирует документ, вместо этого запускается ошибка XDMP-TRIGGERMODULE, приводящая к сбою всей транзакции, и предотвращение выполнения кода усилителя (и, следовательно, предотвращение записи завершения платежа).

Мне интересно, есть ли какая-то проблема с триггером, запускаемым обновлением, выполненным в модуле усилителя? Если так, как я могу избежать этой проблемы? Код триггера даже не требуется в данном конкретном случае, но он настроен для запуска на всех модификациях этого конкретного типа документа, и я не уверен, есть ли способ предотвратить это в уникальных случаях.

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 01 июня 2019

Если ваша организация пользуется поддержкой MarkLogic, я бы порекомендовал вам пройти через них.

В противном случае вам потребуется больше данных.Возможно, будет полезен код триггера и код модуля с усилителем, который его вызывает, и то, как настроен усилитель, и информация о пользователе / ​​роли, вызывающей модуль.

...