This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Metadata Cache Management

Data Holders are required to be able to react to Data Recipient and associated software product status changes within 5 minutes of the change occurring on the CDR Register. To achieve this, Data Holders can poll APIs to retrieve the current statuses and check the validity of Data Recipients and associated software products and cache these for use during requests for Consumer Data. 

Metadata Cache Management module of WSO2 Open Banking supports:

  1. Retrieving the statuses of Accredited Data Recipient (ADR) software products from the Australian Competition and Consumer Commission (ACCC). 
  2. Validating ADR and software product during:
    • Requests to disclose CDR data
    • Requests to withdraw a consent
    • Consent authorisation step by the consumer
  3. Performing Data holder responsibilities such as revoking consents and removing registrations.

Configuring Metadata Management

ACCC does not support this feature yet. To try out the feature before the ACCC endpoints are available, create a mock back end and invoke the hosted services.

Once ACCC creates its status discovery endpoints, the Data Holder should configure the following.

  1. Open the <WSO2_OB_KM_HOME>/repository/conf/finance/open-banking.xml file.
  2. Update the properties under <AU><MetaDataCache>:
    • <EnableMetaDataCache> : To enable metadata caching, set the value to true .
    • <MetaDataCacheUpdatePeriod> : Defines the fetch time for periodical cache update in minutes.
    • <DefaultCacheTimeout> :  The expiration time of base cache in minutes.  
    • <DataRecipientsDiscoveryURL> :  The endpoint provided by ACCC for retrieving the statuses of Data Recipients.

       Click here to see a mock back end for Data Recipients Discovery endpoint
      {
         "dataRecipients":[
            {
               "dataRecipientId":"TPP1",
               "dataRecipientStatus":"Active"
            },
            {
               "dataRecipientId":"TPP2",
               "dataRecipientStatus":"Suspended"
            },
            {
               "dataRecipientId":"TPP3",
               "dataRecipientStatus":"Revoked"
            },
            {
               "dataRecipientId":"TPP4",
               "dataRecipientStatus":"Surrendered"
            },
            {
               "dataRecipientId":"TPP5",
               "dataRecipientStatus":"Active"
            },
            {
               "dataRecipientId":"TPP7",
               "dataRecipientStatus":"Suspended"
            },
            {
               "dataRecipientId":"OI1",
               "dataRecipientStatus":"Active"
            },
            {
               "dataRecipientId":"TPP8",
               "dataRecipientStatus":"Surrendered"
            },
            {
               "dataRecipientId":"TPP9",
               "dataRecipientStatus":"Active"
            },
            {
               "dataRecipientId":"TPP10",
               "dataRecipientStatus":"Suspended"
            },
            {
               "dataRecipientId":"TPP11",
               "dataRecipientStatus":"Revoked"
            },
            {
               "dataRecipientId":"TPP12",
               "dataRecipientStatus":"Surrendered"
            }
         ]
      }
    • <SoftwareProductsDiscoveryURL> :  The endpoint provided by ACCC for retrieving the statuses of software products.

       Click here to see a mock back end for Software Products Discovery endpoint
      {
         "softwareProducts":[
            {
               "softwareProductId":"SP1",
               "softwareProductStatus":"Active"
            },
            {
               "softwareProductId":"SP2",
               "softwareProductStatus":"Inactive"
            },
            {
               "softwareProductId":"SP3",
               "softwareProductStatus":"Removed"
            },
            {
               "softwareProductId":"SP4",
               "softwareProductStatus":"Active"
            },
            {
               "softwareProductId":"SP5",
               "softwareProductStatus":"Inactive"
            },
            {
               "softwareProductId":"SP6",
               "softwareProductStatus":"Removed"
            },
            {
               "softwareProductId":"SP7",
               "softwareProductStatus":"Active"
            },
            {
               "softwareProductId":"SI1",
               "softwareProductStatus":"Inactive"
            },
            {
               "softwareProductId":"SP9",
               "softwareProductStatus":"Removed"
            },
            {
               "softwareProductId":"SP10",
               "softwareProductStatus":"Active"
            },
            {
               "softwareProductId":"SP11",
               "softwareProductStatus":"Inactive"
            },
            {
               "softwareProductId":"SP12",
               "softwareProductStatus":"Removed"
            }
         ]
      }
    • <DCRInternalURL> The API Manager internal URL for accessing Dynamic Client Registration.
    <MetaDataCache>
    	<EnableMetaDataCache>true</EnableMetaDataCache>
    	<MetaDataCacheUpdatePeriod>5</MetaDataCacheUpdatePeriod>
    	<DefaultCacheTimeout>1</DefaultCacheTimeout>
    	<DataRecipientsDiscoveryURL><DR_DISCOVERY_MOCK_URL></DataRecipientsDiscoveryURL>
    	<SoftwareProductsDiscoveryURL><SP_DISCOVERY_MOCK_URL></SoftwareProductsDiscoveryURL>
    	<DCRInternalURL>https://<WSO2_OB_APIM_HOST>:9443/dynamic-client-registration/common/register/</DCRInternalURL>
    </MetaDataCache>