Не удается поймать исключение внутри службы AIF

Я создал сервис AIF в динамическом AX 2012, когда я тестировал его, вызывая метод точки входа из задания, он работал нормально, но когда он развернут, когда вызовы поступают из мыльного интерфейса пользователя, он вылетает внутри с ошибкой: "Необработанная уловка".

Во время отладки я обнаружил, что необработанное исключение выбрасывается в мое предложение catch моего оператора try catch.

Он попадает внутрь catch, потому что метод, который я вызываю в предложении try, выдает ошибку.

Так кто-нибудь знает, почему я могу поймать выданную ошибку, когда я запускаю код на клиенте, используя задание, но не могу перехватить его, когда он выполняется в CIL на сервере и служба вызывается из SoapUi?

1 ответ

Решение

Решено,

У AIF есть одна большая транзакция где-то глубоко в коде ядра и собственный метод try.

Поэтому, когда вы выкидываете ошибку внутри службы AIF, она прерывает внешнюю транзакцию и переходит к предложению перехвата AIF, пропуская все остальные.

Вот почему я не мог поймать это. Решением может быть принятие транзакции AIF, выполнение вашего кода и перед возвратом начните новую транзакцию.

Другие вопросы по тегам