Ошибка 415 из API IAV Rest - получить подробное сообщение об ошибке
Я пытался мгновенной проверки учетной записи с помощью API REST, но столкнулся с парой проблем. Я получаю сообщение об ошибке 415(Проблема с обновлением учетной записи) при вызове api addTransferAccountForItem или addItemAndStartVerificationDataRequest. Мне интересно, есть ли способ получить более подробное сообщение об ошибке, чтобы понять, что я делаю не так при совершении этих вызовов. Сообщение об ошибке возвращается в формате XML, хотя оно должно быть возвращено в формате JSON.
Вот пример фрагмента того, как я делаю вызов addItemAndStartVerificationDataRequest. GDURL - это простой класс, который содержит URL-адрес и объединяет все параметры в строку в формате "param1=param1Value¶m2=param2Value...".
Любой толчок в правильном направлении будет оценен. Спасибо.
URL, который я использую:
addItemAndStartVerificationDataRequestURL = baseUrl + jsonsdk / ExtendedInstantVerificationDataService / addItemAndStartVerificationDataRequest /
addTransferAccountForItem = baseUrl + jsonsdk / TransferAccountManagement / addTransferAccountForItem /
logger.info("Attempting to add item and start verification");
try{
GDURL iavUrl = new GDURL(restURL + addItemAndStartVerificationDataRequestURL);
iavUrl.addParameter("cobSessionToken", cobrandSessionToken);
iavUrl.addParameter("userSessionToken", userSessionToken);
iavUrl.addParameter("contentServiceId", contentServiceId);
iavUrl.addParameter("accountNumber", accountNumber);
iavUrl.addParameter("routingNumber", routingNumber);
iavUrl.addParameter("credentialFields.enclosedType", "com.yodlee.common.FieldInfoSingle");
iavUrl.addParameter("credentialFields[0].displayName", "UserID");
iavUrl.addParameter("credentialFields[0].fieldType.typeName", "IF_LOGIN");
iavUrl.addParameter("credentialFields[0].helpText", "4710");
iavUrl.addParameter("credentialFields[0].isEditable", "true");
iavUrl.addParameter("credentialFields[0].maxlength", "32");
iavUrl.addParameter("credentialFields[0].name", "LOGIN");
iavUrl.addParameter("credentialFields[0].size", "20");
iavUrl.addParameter("credentialFields[0].value", bankUsername);
iavUrl.addParameter("credentialFields[0].valueIdentifier", "LOGIN");
iavUrl.addParameter("credentialFields[0].valueMask", "LOGIN_FIELD");
iavUrl.addParameter("credentialFields[1].displayName", "Password");
iavUrl.addParameter("credentialFields[1].fieldType.typeName", "IF_PASSWORD");
iavUrl.addParameter("credentialFields[1].helpText", "11976");
iavUrl.addParameter("credentialFields[1].isEditable", "true");
iavUrl.addParameter("credentialFields[1].maxlength", "40");
iavUrl.addParameter("credentialFields[1].name", "PASSWORD");
iavUrl.addParameter("credentialFields[1].size", "20");
iavUrl.addParameter("credentialFields[1].value", bankPassword);
iavUrl.addParameter("credentialFields[1].valueIdentifier", "PASSWORD");
iavUrl.addParameter("credentialFields[1].valueMask", "LOGIN_FIELD");
HttpURLConnection connection = null;
connection = (HttpURLConnection) iavUrl.getURL().openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.addRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.connect();
String s="";
DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(iavUrl.getParamString());
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
while(bufferedReader.ready())
s+=bufferedReader.readLine()+"/n";
}
System.out.println("add item response: /n" + s);
}catch(IOException e){
logger.error("error occured", e);
}
1 ответ
415(проблема с обновлением учетной записи) - это ошибка, генерируемая агентом данных Yodlee, когда он обнаруживает исключение при попытке объединить учетную запись с конечного сайта. Эта конкретная ошибка генерируется в ситуациях, когда конечный сайт завершает сеанс, установленный агентом данных, поскольку пользователь, возможно, уже был подключен к конечному сайту напрямую.
Чтобы узнать больше о коде ошибки, обратитесь к этому документу.