Error 415 from IAV Rest API - Get verbose error message

一个人想着一个人 提交于 2019-12-25 07:05:19

问题


I have been trying the Instant Account Verification using the REST api but have run into a couple issues. I receive an error 415(Problem Updating Account) when calling either the addTransferAccountForItem or addItemAndStartVerificationDataRequest api. I'm wondering if there is any way to get a more detailed error message to understand what I'm doing wrong when making these calls. The error message is being returned in XML format although it should be returned in JSON.

Here's an example snippet of how I'm making the addItemAndStartVerificationDataRequest call. GDURL is a simple class that holds the url and concatenates all parameters into a string in format "param1=param1Value&param2=param2Value...".

Any nudge in the right direction would be appreciated. Thank you.

The url I am using are:

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:


The 415(problem updating account) is an error thrown by Yodlee's data agent when it encounters an exception while trying to aggregate the account from end site. This particular error is thrown for situations where the end site terminates the session established by the data agent as the user might have already been logged in to the end site directly.

To know more about error code please refer this document



来源:https://stackoverflow.com/questions/25366439/error-415-from-iav-rest-api-get-verbose-error-message

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!