quickbooks online sdk v3如何排除错误请求/ ValidationException

时间:2013-12-22 18:54:13

标签: debugging sdk intuit-partner-platform quickbooks-online

使用带有SDK的QuickBooks Online API V3调试程序时。如何解决来自DataServices的错误请求。我已经浏览了几个Exception innerExceptions层,我只看到ValidationException。

但是什么绊倒了验证异常???

是否有日志查看导致问题的原因?

5 个答案:

答案 0 :(得分:3)

            catch (Intuit.Ipp.Exception.IdsException ex)
            {
                //TODO: handle dupe or other....
                var returnMessage = string.Empty;
                var innerException = ((Intuit.Ipp.Exception.ValidationException)(ex.InnerException)).InnerExceptions.FirstOrDefault();
                if (innerException != null)
                {
                    returnMessage = innerException.Message;
                }
            } 

答案 1 :(得分:1)

我深入了解生成的异常时发现了这一点。

一般来说,你会得到一个异常并检查内部异常对象是否为null或者什么都没有,如果它有一个内部异常你会看到它。

您会注意到每个异常都有一个名为“ InnerExceptions ”的属性(复数),这是一个包含内部异常的列表,当您有一个正确的内部异常时,此属性将为null,但是最后一个(在我的情况下)当内部异常属性为null时,此列表包含一个带有详细信息的内部异常

此属性在Intuit.Ipp.E​​xception.IdsException上可用,并包含IdsError列表

我正在使用IPP .Net SDK 3.0 API(版本2.0.2.0)

答案 2 :(得分:0)

请提及您正在使用的SDK(JAVA / .NET / PHP)。

https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits

您可以将记录器设置为调试模式以捕获原始请求和响应XML。从响应XML中,您将获得失败的详细信息(如果有的话)。

否则,您可以直接从APIExplorer调用这些端点。

https://developer.intuit.com/apiexplorer?apiname=V3QBO

由于

答案 3 :(得分:0)

对于.Net SDK,请启用请求/响应日志。错误异常的详细信息将保存在这些文件中。 https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0150_ipp_.net_devkit_3.0/logging

答案 4 :(得分:0)

只需收集来自Quickbook API的错误消息。请遵循第一个catch块语句:

catch (Intuit.Ipp.Exception.IdsException ex)
{
   string errorMessage = (((Intuit.Ipp.Exception.ValidationException)(ex.InnerException)).InnerExceptions.FirstOrDefault() ?? new Exception()).Message;
   // you can further log the error .
}