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

Help with ACCOUNTS_IMPORT_JSON in SOAP connector?

Sandeep
New Contributor III
New Contributor III

Hello, need assistance in building Accounts_Import_Json for retrieving Accounts and Account -entitlement mapping in single call.

Here is the sample response from Postman:

    <s:Body>
        <GetUserRoleAssignmentsResponse xmlns="http://tempuri.org/">
                <a:StatusMessage>Number of users not found in Active Directory: 2. Number of active users: 883.</a:StatusMessage>
                <a:UserRoleAssignments>
                    <a:UserRoleEntity>
                        <a:User>T-J36</a:User>
                        <a:Roles xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                            <b:string>Risk</b:string>
                        </a:Roles>
                    </a:UserRoleEntity>
                    <a:UserRoleEntity>
                        <a:User>T-7Q3</a:User>
                        <a:Roles xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                            <b:string>Security</b:string>
                        </a:Roles>
                    </a:UserRoleEntity>
                    <a:UserRoleEntity>
                        <a:User>T-U1W</a:User>
                        <a:Roles xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                            <b:string>Financial Approval Authority</b:string>
                            <b:string>Contract Management - SDP</b:string>
                        </a:Roles>
                    </a:UserRoleEntity>
 
7 REPLIES 7

SB
Saviynt Employee
Saviynt Employee

You can refer the SOAP Documentation on examples of JSON construction.'

https://docs.saviyntcloud.com/bundle/SOAP-v23x/page/Content/Examples-for-SOAP-API-Request-and-Respon...


Regards,
Sahil

Sandeep
New Contributor III
New Contributor III

Tried with below JSON but getting error - "Error parsing parameter ACCOUNTS_IMPORT_JSON:
java.lang.NumberFormatException: For input string: "N""

ACCOUNTS_IMPORT_JSON:

{
"CONNECTION": "accountsImport",
"REQUESTXML": "***********************************",
"REQUESTPARAMS": {
"Content-Type": "text/xml",
"SOAPAction": "***************************************"},
"RESPONSEDATAPATH": "Body.GetUserRoleAssignmentsResponse.GetUserRoleAssignmentsResult.UserRoleAssignments.UserRoleEntity.children()",
"ACCOUNTMAPPING": "Name:@User,accountID:@User",
"ENTITLEMENTMAPPING": {
"Roles": "@Roles.string"
}
}

 

 

 

Sandeep
New Contributor III
New Contributor III

Can someone assist me on this??

SB
Saviynt Employee
Saviynt Employee

There appears to be an issue with your JSON format. You can follow the below documentation for sample format and fix it accordingly.

https://docs.saviyntcloud.com/bundle/SOAP-v23x/page/Content/Scenarios-for-Implementing-the-Connector... 


Regards,
Sahil

Sandeep
New Contributor III
New Contributor III

Thanks for the response Sahil. I referenced Scenario 9 from the link you sent, which is Accounts & Entitlements in Single call but still getting same error. Here is the JSON i tried with:

 

{
"CONNECTION": "accountsImport",

"REQUESTTYPE":"EACHACCOUNT",
"RECONCILIATIONFIELD":"NAME",

"REQUESTXML": "***********************************",
"REQUESTPARAMS": {
"Content-Type": "text/xml",
"SOAPAction": "***************************************"},
"RESPONSEDATAPATH": "Body.GetUserRoleAssignmentsResponse.GetUserRoleAssignmentsResult.UserRoleAssignments.UserRoleEntity.children()",
"ACCOUNTMAPPING": "Name:@User,accountID:@User",
"ENTITLEMENTMAPPING": {
"Roles": "@Roles.string"
}
}

 

Error:

[quartzScheduler_Worker-3] DEBUG provisoning.SoapProvisioningService - Error parsing parameter ACCOUNTS_IMPORT_JSON:
java.lang.NumberFormatException: For input string: "N"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at com.saviynt.provisoning.SoapProvisioningService$_initializeConnectionForImport_closure3.doCall(SoapProvisioningService.groovy:396)
at com.saviynt.provisoning.SoapProvisioningService.initializeConnectionForImport(SoapProvisioningService.groovy:334)
at com.saviynt.provisoning.SoapProvisioningService.doImport(SoapProvisioningService.groovy:107)
at com.saviynt.ecm.integration.ExternalConnectionCallService.invokeExternalMethod(ExternalConnectionCallService.groovy:224)
at SapImportJob.execute(SapImportJob.groovy:109)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
2023-11-07 21:41:46,747 [quartzScheduler_Worker-3] DEBUG provisoning.SoapProvisioningService - End Initializing Connection Parameters...
2023-11-07 21:41:46,747 [quartzScheduler_Worker-3] DEBUG provisoning.SoapProvisioningService - Error - Error parsing parameter ACCOUNTS_IMPORT_JSON - For input string: "N"
2023-11-07 21:41:46,751 [quartzScheduler_Worker-3] DEBUG provisoning.SoapProvisioningService - Dropping temp tables

SB
Saviynt Employee
Saviynt Employee

Can you share the complete log file once of the job run time. Also, can you confirm if you re able to make the call from SOAP UI. Can you also share the dump of the call from SOAP UI


Regards,
Sahil

Sandeep
New Contributor III
New Contributor III

Here you go -