1

有时当通过 NuGet 包 MasterCard-Match 调用 Mastercard MATCH API 时,我会得到一个 JSON 反序列化异常:

解析值时遇到意外字符:<。路径 '',第 0 行,第 0 位置。

异常来自 MasterCard.Core,内部异常来自 Newtonsoft.Json,两者都有相同的消息。

看起来我正在接收 HTML('<' 在第 0 行,第 0 位)并且库正在尝试将其反序列化为 JSON。我的猜测是 MasterCard API 发送回一个 HTML 错误页面而不是 JSON 错误。但是我不能在抛出异常之前进入函数调用来“查看”它得到的响应。

根据文档,我使用提供的数据和调用创建了一个请求映射TerminationInquiryRequest.Create(map),这是引发异常的行。这个函数调用是一个黑匣子,我无法进入它,它只是抛出异常。

try
{
  RequestMap requestMap = CreateRequestMap(); 

  // This line throws the exception
  TerminationInquiryRequest apiResponse = TerminationInquiryRequest.Create(requestMap);
}
catch(Exception e)
{
  // Exception handling
}

我已经使用这个库进行了超过 11,000 次调用,只有 32 次出现了这个错误,但我当然每次都会听到它。

有什么方法可以调试我不知道的库,或者查看库从 API 获得的响应吗?

我已经有一些逻辑可以等待并在失败时重试呼叫。

4

0 回答 0