Dynamics AX 2012 R2 堆栈跟踪:不能对客户端调用'unchecked'
有一个Custom Service一直在正常使用。今天,Reinhard尝试在JOB中以X++代码Debug Custom Service的Method时,收到以下错误提示:
'unchecked' cannot be called on the client.
堆栈跟踪:不能对客户端调用"unchecked"。
从错误提醒中,可以看到在 Custom Service的Method的 line 1处报错。我们进入到该方法中,来看看第一行写的是什么。
可以看到,第一行声明了SysEntryPointAttribute,该属性用于将Method作为WCF的Service Operation Contract曝露。参考 axbytes 的博文 Error when debugging Services class method from X++,通过将第一行声明注释掉,就可以在job中调用了。
报错的原因,是因为Reinhard将Custom Service Class属性中的Run on设为了Called from。在JOB中以X++代码调用该Method时,导致它Run on Client,从而报错。
带有SysEntryPointAttribute的Method,只能设为Run on Server。
将Custom Service Class属性的Run on设为Server后,就可以从JOB中以X++代码来调试Class中的Method了。
学习本是一个不断模仿、练习、创新的过程。对于自己,博文只是总结。在总结的过程发现问题,解决问题。对于他人,在此过程如果还能附带帮助他人,那就再好不过了。 感谢您的阅读。如果文章对您有用,那么请打赏我一杯咖啡,也可以轻轻点个推荐,以资鼓励。
微信打赏
支付宝打赏