@ethanvizitei-
Here are answers to your query.
- Seems like there is some issue in Sample App code in FormFieldsVisitor.java , I suggest you to make these changes in method
populateQueue(Form form)
.
Incorrect Code:
FieldInfo[] fieldInfoArray = null;
if (fieldInfos != null) {
fieldInfoArray = (FieldInfo[])fieldInfos.getElements();
}
for(int j = 0; j < fieldInfoArray.length; j++) {
populateQueue(fieldInfoArray[j]);
if(j > 0) {
needsLittleOr.add(fieldInfoArray[j]);
}
}
Correct Code:
Object[] fieldInfoArray = null;
if (fieldInfos != null) {
fieldInfoArray = (Object[])fieldInfos.getElements();
}
for(int j = 0; j < fieldInfoArray.length; j++) {
populateQueue((FieldInfo)fieldInfoArray[j]);
if(j > 0) {
needsLittleOr.add((FieldInfo)fieldInfoArray[j]);
}
}
This code should work, to explain the issue in the incorrect code here is it is trying to downcast complete array which should not be done. Instead we down downcast one by one element while iterating.
After this change if you'll get this error
java.lang.RuntimeException: Error fetching login form credentials for this ItemId
Then please comment this part in AddItem.java file
FormUtil.writeFormHtml(userContext, itemId,
getLoginFormCredentialsForItem(userContext, itemId), false,
"FilledForm");
We will get this corrected in SampleApps.
2 Below is the sample response which you need.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://login.ext.soap.yodlee.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://common.soap.yodlee.com" xmlns:ns3="http://itemmanagement.accountmanagement.core.soap.yodlee.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns3:addItemForContentService1>
<userContext>
<cobrandId>xxxxxxxxxxxxxxx</cobrandId>
<channelId>-1</channelId>
<locale>
<country>US</country>
<language>en</language>
<variant/>
</locale>
<tncVersion>2</tncVersion>
<applicationId>xxxxxxxxxxxxxxxxxxxxxx</applicationId>
<cobrandConversationCredentials xsi:type="ns1:SessionCredentials">
<sessionToken>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</sessionToken>
</cobrandConversationCredentials>
<preferenceInfo>
<currencyCode>USD</currencyCode>
<timeZone>PST</timeZone>
<dateFormat>MM/dd/yyyy</dateFormat>
<currencyNotationType>SYMBOL_NOTATION</currencyNotationType>
<numberFormat>
<decimalSeparator>.</decimalSeparator>
<groupingSeparator>,</groupingSeparator>
<groupPattern>###,##0.##</groupPattern>
</numberFormat>
</preferenceInfo>
<fetchAllLocaleData>false</fetchAllLocaleData>
<conversationCredentials xsi:type="ns1:SessionCredentials">
<sessionToken>xxxxxxxxxxxxxxxxxxxxxxxxxxx</sessionToken>
</conversationCredentials>
<valid>true</valid>
<isPasswordExpired>false</isPasswordExpired>
</userContext>
<contentServiceId>4479</contentServiceId>
<credentialFields>
<elements xsi:type="ns2:FieldInfoMultiFixed">
<name>TSP Account Number (13 Digit)</name>
<displayName>TSP Account Number (13 Digit)</displayName>
<isEditable>true</isEditable>
<isOptional>true</isOptional>
<isEscaped>false</isEscaped>
<helpText>134201</helpText>
<isOptionalMFA>false</isOptionalMFA>
<isMFA>false</isMFA>
<defaultValues/>
<values>
<elements>1234567</elements>
<elements>8765</elements>
<elements>78923</elements>
</values>
<validValues/>
<displayValidValues/>
<valueIdentifiers>
<elements>OP_LOGIN</elements>
<elements>OP_LOGIN1</elements>
<elements>OP_LOGIN2</elements>
</valueIdentifiers>
<valueMasks>
<elements>LOGIN_FIELD</elements>
<elements>LOGIN_FIELD</elements>
<elements>LOGIN_FIELD</elements>
</valueMasks>
<fieldTypes>
<elements>LOGIN</elements>
<elements>LOGIN</elements>
<elements>LOGIN</elements>
</fieldTypes>
<validationRules/>
<sizes>
<elements>20</elements>
<elements>20</elements>
<elements>20</elements>
</sizes>
<maxlengths>
<elements>4</elements>
<elements>4</elements>
<elements>5</elements>
</maxlengths>
<userProfileMappingExpressions/>
</elements>
<elements xsi:type="ns2:FieldInfoSingle">
<name>OP_LOGIN3</name>
<displayName>User ID</displayName>
<isEditable>true</isEditable>
<isOptional>true</isOptional>
<isEscaped>false</isEscaped>
<helpText>134200</helpText>
<isOptionalMFA>false</isOptionalMFA>
<isMFA>false</isMFA>
<value>apoorv123</value>
<valueIdentifier>OP_LOGIN3</valueIdentifier>
<valueMask>LOGIN_FIELD</valueMask>
<fieldType>LOGIN</fieldType>
<size>20</size>
<maxlength>40</maxlength>
</elements>
<elements xsi:type="ns2:FieldInfoSingle">
<name>PASSWORD</name>
<displayName>8-character Web Password</displayName>
<isEditable>true</isEditable>
<isOptional>false</isOptional>
<isEscaped>false</isEscaped>
<helpText>134205</helpText>
<isOptionalMFA>false</isOptionalMFA>
<isMFA>false</isMFA>
<value>09876tyqw</value>
<valueIdentifier>PASSWORD</valueIdentifier>
<valueMask>LOGIN_FIELD</valueMask>
<fieldType>PASSWORD</fieldType>
<size>20</size>
<maxlength>8</maxlength>
</elements>
<elements xsi:type="ns2:FieldInfoSingle">
<name/>
<displayName>Verify 8-character Web Password</displayName>
<isEditable>true</isEditable>
<isOptional>false</isOptional>
<isEscaped>false</isEscaped>
<helpText>134205</helpText>
<isOptionalMFA>false</isOptionalMFA>
<isMFA>false</isMFA>
<value>09876tyqw</value>
<valueIdentifier>PASSWORD</valueIdentifier>
<valueMask>LOGIN_FIELD</valueMask>
<fieldType>PASSWORD</fieldType>
<size>20</size>
<maxlength>8</maxlength>
</elements>
</credentialFields>
<shareCredentialsWithinSite>false</shareCredentialsWithinSite>
<startRefreshItemOnAddition>false</startRefreshItemOnAddition>
</ns3:addItemForContentService1>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>