Webservice XML Mapping and Pagination

Hello Community,

I am using ISC webservice connector and the response is in XML format; I am able to aggregate the accounts but facing issue with pulling entitlements.
Attaching sample response, how can i pull in “schema” as entitlement and id “01-4122”.

Account Root Path - //api:response/api:result-list/api:result/api:user-identifier-associations - Working

Group Root Path - //api:response/api:result-list/api:result/api:user-identifier-associations/api:user-identifier-association in group aggregation but the result is zero. - Not working
Below response “api:result” block provides user and the entitlement/access relation.

<?xml version="1.0" encoding="utf-8"?>
<api:response xmlns:api="http://www.test.com/api">
    <api:pagination results-count="5000" items-per-page="25">
        <api:page position="this" href="https://test.webservice.org:8080/identifiers"/>
        <api:page position="next" href="https://test.webservice.org:8080/identifiers?after-id=24"/>
    </api:pagination>
    <api:result-list>
        <api:result>
            <api:user-identifier-associations user-id="6" proprietary-id="tu02" username="testuser02">
                <api:user-identifier-association scheme="book" status="claimed" decision="ignore-it">01-4122</api:user-identifier-association>
                <api:user-identifier-association scheme="book" status="claimed" decision="ignore-it">01-7262</api:user-identifier-association>
            </api:user-identifier-associations>
        </api:result>
    </api:result-list>
</api:response>				

Appreciate any leads and suggestions, thank you

Hello @Shivakarasani455

Can you please update group root path:->

//api:response/api:result-list/api:result/api:user-identifier-associations/api:user-identifier-association

@asharma65 Thank you for the reponse, No Luck. I have tried root path “//api:response/api:result-list/api:result/api:user-identifier-associations/api:user-identifier-association”
added schema as attribute and marked as entitlement , success but zero results

Is this the SaaS or DIrect Connector for the Web Service connector?

Are you trying to get the groups as part of the Account Aggregation, or a separate Group aggregation?

If during the account, did you make the attribute multi-value?

In either case, your root path/schema attribute path should probably end with “api:user-identifier-associations”, as that is the one that contains the list of groups you want. Then the Schema attribute would be mapped to the ‘api:user-identifier-association’ value.

You may need to add ‘.’ or '.[]’ to denote that you are getting the items within the list.

Hello @gmilunich

I have tried both options, but my preference is pulling from account aggregation.

I have set the attribute as Entitlement and Multivalued and tried the below scheme, adding the screeshots of schema and mapping-

api:user-identifier-association.scheme
@api:user-identifier-association.scheme
api:user-identifier-association/scheme


What are you looking to get during the user aggregation? The ID of the “user-identifier-association” (ie 01-4122 and 01-7262 from your first example) or are you looking to get all of the details about the “user-identifier-association” as an Entitlement?

If it is the first one, try removing the “@” symbol from the attribute path, since it is not an attribute of the tag, but part of the value. The others are attributes. The @ may need to go in front of “scheme” to give you “api:user-identifier-associations[*].api:user-identifier-association.@scheme” (You’ll need to look up the proper syntax for this.)

If you are looking for the second, then you likely can’t do that in the Account aggregation, as I believe that only retrieves 1 field and creates an entitlement from it.

Also, in your last example I see you used “scheme” in the first screenshot, and “schema” in the second, which appears to be a mismatch.

Hi @gmilunich

Thank you for the inputs and pointing to schema mistake i have correct those and looking at group aggregation.

Motive is to pull the ID’s of the “user-identifier-association” where entitlement type will be “scheme” and Id will be associated entitlements.

Something like

testuser02
|
book
|
01-4122
01-7262

<api:user-identifier-associations user-id="6" proprietary-id="tu02" username="testuser02">
  <api:user-identifier-association scheme="book" status="claimed" decision="ignore-it">01-4122</api:user-identifier-association>
  <api:user-identifier-association scheme="book" status="claimed" decision="ignore-it">01-7262</api:user-identifier-association>
</api:user-identifier-associations>

I have tried with different root path and attribute path but always returns zero.