Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Not able to get List of Objects in fieldList _ REST Connection

avinash_16
New Contributor III
New Contributor III

Greetings,

I'm working on a rest connection where the endpoint is SOAP. But since Saviynt has capability consume xml and due to some restrictions in SOAP connector we're using REST connector to import accounts. While when the list object is not null when the fieldList is left empty, when I try to define it it shows as null in logs. I've converted the response from xml to json to write listField; saviynt is not able to fetch the list of objects. I'm sharing the json here for reference below:

{
  "Envelope": {
    "Body": {
      "aggregationResponse": {
        "out": {
          "statusCode": 200,
          "statusDescription": "Data added to the Array",
          "userArray": {
            "OneIDMAggregation": [
              {
                "groupName": "PlantOpsAdmin",
                "initForm": "gehc_routeNavigator",
                "location": "UAS",
                "role": "Administrator",
                "status": "Normal",
                "userID": 503349156
              },
              {
                "groupName": "PlantOpsAdmin",
                "initForm": "gehc_routeNavigator",
                "location": "VIEW",
                "role": "Administrator",
                "status": "Normal",
                "userID": 503383960
              }
]
}
}
}
}
}
}
 
listfields I've tried:
 
1. Envelope.Body.aggregationResponse.out.userArray.OneIDMAggregation
2. soap:Envelope.soap:Body.ns1:aggregationResponse.ns1:out.userArray.OneIDMAggregation
3. IDMAggregation

accimportjson:
{
    "accountParams": {
        "connection": "acctAuth",
        "processingType": "SequentialAndIterative",
        "statusAndThresholdConfig": {
            "statusColumn": "customproperty10",
            "activeStatus": ["Normal"],
            "deleteLinks": true,
            "accountThresholdValue": 300000,
            "correlateInactiveAccounts": true,
            "inactivateAccountsNotInFile": false,
            "deleteAccEntForActiveAccounts": true
        },
        "call": {
            "call1": {
                "callOrder": 0,
                "stageNumber": 0,
                "http": {          
                    "url": "<<SOAP endpoint url>>",
                    "httpParams": "<<XML Body>>",
                    "httpHeaders": {
                        "Content-Type": "text/xml"
                    },
                    "httpContentType": "text/xml",
                    "httpMethod": "POST"
                },
                "listField": "???",
                "keyField": "accountID",
                "colsToPropsMap": {
                    "accountID": "userID~#~char",
                    "name": "userID~#~char",
                    "customproperty1": "role~#~char",
                    "customproperty2": "location~#~char",
                    "customproperty10": "status~#~char"
                }
            }
        }
    }
}

any insight would be really helpful. Thanks.
7 REPLIES 7

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @avinash_16,

Can you try the list field sample given below,

                "listField": "Envelope.Body.aggregationResponse.out.userArray.OneIDMAggregation",

 Thanks

If you find the above response useful, Kindly Mark it as "Accept As Solution".

already tried. no luck. in the post I've mentioned the various listField combinations I've tried.

prafullgoyal
Saviynt Employee
Saviynt Employee

@avinash_16  Ideally it should work with "listField": "OneIDMAggregation",

In cases where this is not the case, kindly provide your actual response as well as the conversion code, in addition to the logs.

Thanks

If you find the above response useful, Kindly Mark it as "Accept As Solution".

If you find the above response useful, Kindly Mark it as "Accept As Solution".

avinash_16
New Contributor III
New Contributor III

@prafullgoyal it didn't work with OneIDMAggregation.

Attaching the requested details.

prafullgoyal
Saviynt Employee
Saviynt Employee

@avinash_16 , "MES_Import_Logs.csv" I would appreciate it if you could provide me the full log file. Any sensitive data that may exist can be modified by you.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

@prafullgoyal I understood where it went wrong. Basically the data within the tags like <username> data </username> when consumed is converted to
{

username: {

content: 'data'

}

}
so atleast mapping wise i don't see any error now but the error I'm getting is that Account Name is null so record cannot be saved.
updated mapping: 

"accountID": "soap:Envelope.soap:Body.ns1:aggregationResponse.ns1:out.userArray.OneIDMAggregation.userID.content~#~char",
                    "name": "soap:Envelope.soap:Body.ns1:aggregationResponse.ns1:out.userArray.OneIDMAggregation.userID.content~#~char",
                    "customproperty1": "soap:Envelope.soap:Body.ns1:aggregationResponse.ns1:out.userArray.OneIDMAggregation.role.content~#~char",
                    "customproperty2": "soap:Envelope.soap:Body.ns1:aggregationResponse.ns1:out.userArray.OneIDMAggregation.location.content~#~char",
                    "customproperty10": "soap:Envelope.soap:Body.ns1:aggregationResponse.ns1:out.userArray.OneIDMAggregation.status.content~#~char"

prafullgoyal
Saviynt Employee
Saviynt Employee

@avinash_16 ,

Good.

Thanks

If you find the above response useful, Kindly Mark it as "Accept As Solution".

If you find the above response useful, Kindly Mark it as "Accept As Solution".