Webservice Connector Partitions and Partitioned Account Aggregation

Hello team,
I’m trying to configure the Partitioning of Webservice Connector in an IIQ8.4 environment. The “Get Partitions” operation response looks alike below.

{
   {
       "dbInstanceId": "DBM1122",
       "mnemonic": "TSYS",
       "databaseRole": "PRIMARY"
   },
   {
       "dbInstanceId": "DBM3344",
       "mnemonic": "OPS",
       "databaseRole": "PRIMARY"
   },
   {
       "dbInstanceId": "DBM5566",
       "mnemonic": "DSYS",
       "databaseRole": "STANDBY"
   }
}

The “Partitioned Account Aggregation” Context URL is /auditcompliance/v1/oracle/instance/{instance_id}/entitlement/all.
The “Get Partitions” operation is configured as below.
undefined

The “Partitioned Account Aggregation” operation is configured as below with Parent endpoint: getPartitions
Picture2
The use case is the {instance_id} in the Contex URL of “Partitioned Account Aggregation” operation would be dynamically updated to the appropriate “dbInstanceId” passed from the response of “Get Partitions” operation.
However, when I click on Preview for account, I get the exception “Not configuration found for Account Aggregation”.

The Account Aggregation operation works fine with the hardcoded instance_id in the Context URL. The exception occurs if Account Aggregation is not present in the Connector Operations. I guess that the Partitioning would work on two operations “Get Partitions” and “Partitioned Account Aggregation”. I expect “Partitioned Account Aggregation” aggregates the accounts in each of instance_id passed from “Get Partitions”.

I wonder if I miss something in the configurations to Partitioning such as Parent Endpoint etc. Your guidance is much appreciated.

Hi @jxu11,

this is true but Partitioned Account Aggregation operation is used when partition is enable on account aggregation task

Also depends of partition type you want use, static or dynamic. I put the link for guide:

1 Like

Hi Emanuele,
Thank you for the pointer. I missed to select checkBox in Aggregation Task. I am going to test it again with the option enabled. Thanks.

1 Like

Hi Emanuele,
Is it doable that the base URL of “Get Partitions” is not same to the base URL of “Partitioned Account Aggregation”?
The customer provides the base URL for these two operations different. I got an error Empty responses List from “Get Partition” endpoint.

@jxu11

If you need to execute more than one URL for getting partitions, create two (or more) “Get Partition” operations. Give each operation a unique name. The second, third etc’s operation’s Parent Endpoint should be set to the first “Get Partitions” operation’s name. Don’t make parent/child configs between different types of operations.

Pay detailed attention to the response and response configuration. Case sensitivity is a thing… Also JSON Syntax. The response shown should be a JSONArray, for example:
image

Use “$.*” as the Root Path, “2**” as Response Code and “dbInstanceId” (note case) for both the name and value of the mapping. Also set the correct Accept and Content-Type headers for each operation.

Configure the “Partitioned account aggregation” to make use of the $partition.dbInstanceId" (note case) in the ContextURL config.

Enable Partioning in the Account Aggregation task. The task will execute the “Get Partitions” operation(s) and execute the “Partitioned Account Aggregation” operation(s) for each of the partitions returned from the “Get Partitions” operation.

Also note that a application user account could have access to multiple db instances. Doing an account aggregation like this could cause issues with the account aggregation data should you return more than one ResourceObject with the same Account Identity attribute value. In this case, I would recommend looking at the Logiplex connector to separate out each DB instance into its own application.

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.