一般的なジャーナルに書き込む外部アプリケーションがあります。エラーが発生した場合、基本的な説明「エラー検証レコード」などがあります。私はまた、より詳細な警告メッセージを返信したいと思います。問題は、私はコード内の警告メッセージをキャッチし、エラーを返して私のサードパーティのアプリケーションに戻す方法を知らないです。だから、私はエラーをキャッチし、その後、sys例外テーブルを照会しました。しかし問題は今や遅れているようだ。つまり、aifサービスが完全に終了するまで、エラー/警告をテーブルに書き込まないということです。したがって、常に最新のエラーではなく最後のエラーが返されます。以下のコードを参照してください。警告が返ってくるよりよい解決策がある場合は、私に知らせてください。私は周りを見て、何も動作するように見えませんでした。aif例外テーブルから警告/エラーメッセージを取得する
catch (Exception::Error)
{
select maxOf(createdDateTime) from sysExceptionTable where sysExceptionTable.Exception==Exception::Warning && (sysExceptionTable.createdBy=='username' || sysExceptionTable.createdBy=='username');
select description from sysExceptionTable2 where sysExceptionTable2.Exception==Exception::Error && (sysExceptionTable2.createdBy=='username' || sysExceptionTable2.createdBy=='username') && sysExceptionTable2.CreatedDateTime==sysExceptionTable.createdDateTime;
errorMsg=sysExceptionTable2.Description;
select description from sysExceptionTable2 where sysExceptionTable2.Exception==Exception::Warning && (sysExceptionTable2.createdBy=='username' || sysExceptionTable2.createdBy=='username') && sysExceptionTable2.CreatedDateTime==sysExceptionTable.createdDateTime;
errorMsg=errorMsg + " " + sysExceptionTable2.Description;
throw Global::error(errorMsg);
}
[Ax 2012 aif catching warnings](http://stackoverflow.com/questions/40793797/ax-2012-aif-catching-warnings)、[AIF内部で例外をキャッチできないサービス](http://stackoverflow.com/questions/17830973/cant-catch-exception-inside-aif-service)、[aif Webサービスからの警告メッセージをキャッチ](http://stackoverflow.com/questions/42587796)/catch-the-warning-message-from-aif-web-service)、[AIFから意味のあるエラーメッセージを取得する方法](https://community.dynamics.com/ax/f/33/t/35246)および[link](http://axdevnotes.blogspot.de/2011/06/aif-exception-message.html?m=1) –