Иногда при вызове Mastercard MATCH API через пакет NuCet MasterCard-Match я получаю исключение десериализации JSON:
При анализе значения обнаружен неожиданный символ: <.Путь '', строка 0, позиция 0. </p>
Исключение от MasterCard.Core с внутренним исключением из Newtonsoft.Json, оба имеют одно и то же сообщение.
ПохожеЯ получаю HTML ('<' в строке 0, позиция 0), и библиотека пытается десериализовать его как JSON.Я предполагаю, что MasterCard API отправляет обратно страницу с ошибкой HTML вместо ошибки JSON.Но я не могу войти в вызов функции, чтобы «увидеть» ответ, который он получает, прежде чем выдать исключение. </p>
Согласно документации я создаю карту запроса с предоставленными данными и вызываю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?
У меня уже есть логика для ожидания и повторного вызова в случае сбоя.