2

我在动态 AX 2012 中创建了一个 AIF 服务,当我通过从作业调用入口点方法对其进行测试时,它工作正常,但是当它被部署时,调用来自肥皂 UI,它在内部崩溃并出现错误: “未经处理的逃避”。

在调试时,我发现在我的 try catch 语句的 catch 子句中抛出了未处理的异常。

它进入 catch 是因为我在 try 子句中调用的方法会出错。

那么有谁知道为什么我在使用作业的客户端上运行代码时可以捕获抛出的错误,但是当它在服务器上的 CIL 中运行并且从 SoapUi 调用服务时却无法捕获它?

4

1 回答 1

3

解决了,

AIF 在核心代码深处有一个大事务和一个自己的 try catch。

因此,当您在 AIF 服务中抛出错误时,它将中止外部事务并直接进入 AIF catch 子句,跳过所有其他事务。

这就是为什么我无法抓住它。解决方案可能是提交 AIF 事务,运行您的代码并在返回之前开始新事务。

于 2013-07-25T07:54:02.203 回答