【问题标题】:catching the warning message from aif web service捕获来自 aif Web 服务的警告消息
【发布时间】:2017-03-03 20:21:45
【问题描述】:

我在 ax 2012 中有一个 aif 服务。我从 .net 应用程序将信息传递给它。基本上我发到一般杂志。但是当出现错误时,比如传入的错误信息,它通常会返回一般错误“错误验证记录”。但是警告消息显示了它导致错误的实际原因,例如错误数据。

有没有办法捕捉和显示警告信息。我尝试了exception::warning,但它直接指向exception::error

catch (Exception::Error)
{
    throw Global::error("need to get warning");
}

【问题讨论】:

    标签: axapta dynamics-ax-2012 x++ aif


    【解决方案1】:

    我希望能理解这个问题。

    如果您从 Infolog 获得所有 警告消息,我有一个小解决方案。 您可以获取系统创建的所有 Infolog,如下所示:

    InfologData             msg;
    catch (Exception::Error)
    {
         msg = infolog.infologData();
         infolog.import(msg); // HERE show all infolog - with INFO - Warning - Errors
         throw Global::error("Process Error");
    }
    

    不完全是请求,但是通过这种方式也可以找到所有显示的InfoLog和警告。

    干得好。

    参考:Infolog-INFO - Infolog2String

    【讨论】:

    • 我想从 AIF 例外列表中获取它。在服务和应用集成框架下
    【解决方案2】:

    凭记忆,但你试过吗:

    throw error(AifUtil::getClrErrorMessage());

    【讨论】:

    • 您试图在代码中的哪个位置捕获错误?错误被抛出到信息日志中,因此您实际上必须从那里多次删除它们和/或我认为 AIF 错误日志可能会存储它们。
    • 有一个 aif 错误日志,其中包含它们..我想从那里获取它..最后一个错误和警告消息。我不会阅读或查看任何信息日志内容
    • 嗨@AlexKwitny,我正在使用这段代码,但返回的是空值,为什么会这样?
    • @Mumble 该代码用于捕获CLR 错误。见docs.microsoft.com/en-us/dynamicsax-2012/developer/…
    【解决方案3】:

    也许这可以帮助throw error(CLRInterop::getLastException().ToString());

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多