Exception handling Can';无法捕获AIF服务内的异常

Exception handling Can';无法捕获AIF服务内的异常,exception-handling,axapta,cil,dynamics-ax-2012,aif,Exception Handling,Axapta,Cil,Dynamics Ax 2012,Aif,我在dynamics AX 2012中创建了一个AIF服务,当我通过从作业中调用entrypoint方法对其进行测试时,它工作得很好,但是当它在从soap UI进行调用时部署时,它会在内部崩溃,并出现一个错误:“Unhandled esception” 调试时,我发现未处理的异常被抛出到try-catch语句的catch子句中 它进入catch中,因为我在try子句中调用的方法出错 那么,有人知道为什么我在使用作业的客户端上运行代码时可以捕获抛出的错误,但在服务器上的CIL中运行代码时无法捕获抛

我在dynamics AX 2012中创建了一个AIF服务,当我通过从作业中调用entrypoint方法对其进行测试时,它工作得很好,但是当它在从soap UI进行调用时部署时,它会在内部崩溃,并出现一个错误:“Unhandled esception”

调试时,我发现未处理的异常被抛出到try-catch语句的catch子句中

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

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

AIF在核心代码的深处有一个大事务,并且有自己的try-catch

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

这就是我没能抓住它的原因。解决方案可以是提交AIF事务,运行代码,然后在返回之前开始新事务