You use the meta data service to retrieve the BBAN field names and sizes for the specified country. You use the ISO Country code to specify for which country you want to retrieve data.
You can use this service to build a dynamic user interface that varies according to the currently selected country. For example, for a standard validation, the user interface for the United Kingdom would display two fields, sort code and account number, whereas for France it would display four fields, bank code, branch code, account number and check digits.
This example code retrieves the meta data for the United Kingdom and displays a message to show whether the call was successful.
/* Call the Meta data service */ MetaDataRequest MetaRequest = new MetaDataRequest(clientInformation, "GB"); MetaDataResponse MetaResponse = port.metaRequest(MetaRequest); /* Check for a response */ if (MetaResponse != null) { /* If the call was successful, display successful message */ System.out.println("Meta Response data retrieved"); } else { /* If the call was NOT successful, display an error message */ System.out.println("NO Meta Response data retrieved"); } |
<soapenv:Body>
<typ:MetaDataRequest>
<typ:ClientInformation>
<typ:UserID>TEST_CLIENT</typ:UserID>
<typ:WSDLVersion>1.0</typ:WSDLVersion>
</typ:ClientInformation>
<typ:ISOCountryCode>GB</typ:ISOCountryCode>
</typ:MetaDataRequest>
</soapenv:Body>
This response returns the meta data for the United Kingdom.
<soapenv:Body>
<MetaDataResponse xmlns="urn:experian/BANKWIZARD/soapservice/types">
<metaData>
<metaDataDescription>validation meta data<metaDataDescription>
<metaDataID>1</metaDataID>
<ISOCountryCode>GB</ISOCountryCode>
<InputData>
<Name>Sort code</Name>
<Size>8</Size>
</InputData>
<InputData>
<Name>Account</Name>
<Size>12</Size>
</InputData>
<OutputData>
<Name>Bank name</Name>
<Size>20</Size>
<ID>1006</ID>
</OutputData>
...
<OutputData>
<Name>Redirection to</Name>
<Size>6</Size>
<ID>1017</ID>
</OutputData>
<conditions/>
</metaData>
<metaData>
<metaDataDescription>absolute personal meta data</metaDataDescription>
<metaDataID>2</metaDataID>
<ISOCountryCode>GB</ISOCountryCode>
<InputData>
<GroupID>3</GroupID>
<GroupName>Account Details</GroupName>
<Name>Account Setup Date</Name>
</InputData>
...
<InputData>
<GroupID>2</GroupID>
<GroupName>Address</GroupName>
<Name>Post Code</Name>
</InputData>
<OutputData>
<GroupID>1</GroupID>
<GroupName>Personal Details</GroupName>
<Name>Personal Details Response</Name>
</OutputData>
<OutputData>
<GroupID>3</GroupID>
<GroupName>Account Details</GroupName>
<Name>Account Setup Date Response</Name>
</OutputData>
<OutputData>
<GroupID>2</GroupID>
<GroupName>Address</GroupName>
<Name>Address Response</Name>
</OutputData>
<conditions/>
</metaData>
</MetaDataResponse>
</soapenv:Body>
<soapenv:Body>
<typ:MetaDataRequest>
<typ:ClientInformation>
<typ:UserID>TEST_CLIENT</typ:UserID>
<typ:WSDLVersion>1.0</typ:WSDLVersion>
</typ:ClientInformation>
<typ:ISOCountryCode>DE</typ:ISOCountryCode>
</typ:MetaDataRequest>
</soapenv:Body>
This response returns the meta data for Germany.
<soapenv:Body>
<MetaDataResponse>
<metaData xsi:type="MetaDataResponseSet" xmlns:ns1="urn:experian/BANKWIZARD/soapservice/types">
<metaDataDescription>validation meta data</metaDataDescription>
<metaDataID>1</metaDataID>
<ISOCountryCode>DE</ISOCountryCode>
<InputData>
<Name>Bank/branch code</Name>
<Size>8</Size>
</InputData>
<InputData>
<Name>Account number</Name>
<Size>10</Size>
</InputData>
<OutputData>
<Name>Bank Name</Name>
<Size>46</Size>
<ID>1007</ID>
</OutputData>
<OutputData>
<Name>Post code</Name>
<Size>5</Size>
<ID>1009</ID>
</OutputData>
<OutputData xsi:nil="true"/>
<conditions/>
</metaData>
</MetaDataResponse>
</soapenv:Body>
/* Displays the retrieved metadata */ Display("Input field metadata for country: " + m_args.getCountry()); Display(""); Details[] details = out.getMetaData(); if (details != null) { for(int i = 0; i < details.length; i++) { Display("Field " + (i+1) + ") \"" + details[i].getFieldname() + "\", " + details[i].getFieldvalue() + " characters"); } |
For France this displays:
Input field metadata for country: fr
Field 1) "Bank code", 5 characters
Field 2) "Branch code", 5 characters
Field 3) "Account number", 11 characters
Field 4) "Check digits", 2 characters