Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Archer Account Provisioning

mansoorahmed1
New Contributor III
New Contributor III

Hi,

Im Trying to create account through Rest Connector in RSA Archer but I m getting below error. I believe this because of the password is not parsed in the Httpparams . Am I missing anything here ?

I tried hardcoding password but binding variable values are not being fetched so I tried using ${password} as well as ${connection.arch_Password} where this custom attribute is defined in connections.

Error logs:

Calling Webservice Url - ****.archerirm.us/api/core/system/user with httpParams - [User:[UserName:pilot.test3@***, FirstName:Pilot, LastName:Test3, AccountStatus:1, Locale:en-US, TimeZoneId:SingaporeStandardTime], Password=******

2024-09-04T19:40:41+10:00-ecm-worker-services.HttpClientUtilityService-quartzScheduler_Worker-6-p5jlf-DEBUG-calling executeRequestWithTimeoutConfig for api...
 
2024-09-04T19:40:41+10:00-ecm-worker-services.HttpClientUtilityService-quartzScheduler_Worker-6-p5jlf-DEBUG-calling api...
 
2024-09-04T19:40:41+10:00-ecm-worker-services.HttpClientUtilityService-quartzScheduler_Worker-6-p5jlf-DEBUG-before calling executeRequestWithHeaders for api...
 
2024-09-04T19:40:41+10:00-ecm-worker-rest.RestProvisioningService-quartzScheduler_Worker-6-p5jlf-DEBUG-Got Webservice API Response: [responseText:Cannot invoke method equalsIgnoreCase() on null object]

 

CreateAccountJSON:

{
"accountID": "call1.message.RequestedObject.Id",
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "***.archerirm.us/api/core/system/user",
"httpMethod ": "POST",
"httpParams": "{\"User\": {\"UserName\": \"${user.email}\",\"FirstName\": \"${user.firstname}\", \"LastName\": \"${user.lastname}\",\"AccountStatus\":1,\"Locale\":\"en-US\",\"TimeZoneId\":\"SingaporeStandardTime\"},\"Password\":\"${connection.arch_Password}\"}",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Archer session-id=\"${access_token}\""
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [200]
},
"retryFailureStatusCode": [
500,
400,
401
]
}
]
}

12 REPLIES 12

Raghu
All-Star
All-Star

@mansoorahmed1  try like below json

{
"accountIdPath": "accountName",
"call": [
{
"name": "call1",
"callOrder": 0,
"stageNumber": 0,
"showResponse": true,
"connection": "acctAuth",
"url": "XXX",
"httpMethod ": "POST",
"httpParams": "{\"User\": {\"FirstName\": \"${user.firstname}\",\"LastName\": \"${user.lastname}\",\"UserName\":\"${user.systemUserName}\"},\"Password\":\"XXXX\"}",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Archer session-id=${access_token}"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200
]
},
"retryFailureStatusCode": [
500,
502,
401
]
}
]
}


Thanks,
Raghu
If this reply answered your question, Please Accept As Solution and hit Kudos.

mansoorahmed1
New Contributor III
New Contributor III

Didnt work, when I tried hard coding password binding variables value are not being fetched.

 

Regards,

Mansoor

Did you defined password variable in connection json ? Share json


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Yes,

{
"authentications": {
"userAuth": {
"authType": "oauth2",
"url": "***.archerirm.us/api/core/security/login",
"httpMethod": "POST",
"httpParams": {
"InstanceName": "",
"Username": "",
"Password": ""
},
"httpHeaders": {
"Content-Type": "application/json"
},
"authError": [
"InvalidAuthenticationToken"
],
"httpContentType": "application/json",
"retryFailureStatusCode": [401],
"successResponse": [200,201],
"expiryError": "Invalid session token",
"timeOutError": "Read timed out",
"arch_Password": "Busplanetaxi$123",
"errorPath": "error.code",
"maxRefreshTryCount": 5,
"tokenResponsePath": "RequestedObject.SessionToken",
"tokenType": "",
"accessToken": "abcd",
"retryFailureStatusCode": [
500,
502,
401
]
}
}
}

Try password variable without underscore.

Does password have $ keyword ? it can be issue


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

I tried changing the special character to @ as well getting same error . Whatever change I do I think Im getting the same error and its not hitting the API as well because I dont get any API Error codes, Im getting this error which is because of the JSON parsing.

2024-09-04T19:40:41+10:00-ecm-worker-rest.RestProvisioningService-quartzScheduler_Worker-6-p5jlf-DEBUG-Got Webservice API Response: [responseText:Cannot invoke method equalsIgnoreCase() on null object]

 

 

Does hardcoded values works ?


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

NM
Esteemed Contributor
Esteemed Contributor

@mansoorahmed1 yr this 

accountID": "call1.message.RequestedObject.Id",

"call": [

{

"name": "call1",

"connection": "userAuth",

"url": "***.archerirm.us/api/core/system/user",

"httpMethod ": "POST",

"httpParams": "{\"User\": {\"UserName\": \"${user.email}\",\"FirstName\": \"${user.firstname}\", \"LastName\": \"${user.lastname}\",\"AccountStatus\":1,\"Locale\":\"en-US\",\"TimeZoneId\":\"SingaporeStandardTime\"},\"Password\":\"${connection.arch_Password}\"}",

"httpHeaders": {

"Content-Type": "application/json",

"Authorization": "Archer session-id=${access_token}\"

},

"httpContentType": "application/json",

"successResponses": {

"statusCode": [200]

},

"retryFailureStatusCode": [

500,

400,

401

]

}

]

}


If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'

rushikeshvartak
All-Star
All-Star
  • Does connection json working?
  • Does import is working
  • Share postman screenshot and curl command for create account

Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Yes, Import is working fine. No issues there.

 

mansoorahmed1_1-1725486510436.png

 

stalluri
Valued Contributor II
Valued Contributor II

@mansoorahmed1 

Please try this below Json.

{
    "accountIdPath": "accountName",
    "responseColsToPropsMap": {},
    "call": [
        {
            "name": "call1",
            "connection": "userAuth",
            "url": "***.archerirm.us/api/core/system/user",
            "httpMethod ": "POST",
            "httpParams": "{\"User\": {\"UserName\": \"${user.email}\",\"FirstName\": \"${user.firstname}\",\"LastName\": \"${user.lastname}\",\"Displayname\": \"${user.firstname} ${user.lastname}\",\"MiddleName\": \"\",\"AccountStatus\":1,\"Locale\":\"en-US\", \"TimeZoneId\":\"Singapore Standard Time\",\"ForcePasswordChange\": false},\"Password\":\"${connection.arch_Password}\"}",
            "httpHeaders": {
                "Content-Type": "application/json",
                "Authorization": "Archer session-id=${access_token}"
            },
            "httpContentType": "application/json",
            "successResponses": {
                "statusCode": [
                    200
                ]
            },
            "retryFailureStatusCode": [
                500,
                400,
                401
            ]
        }
    ]
}

Best Regards,
Sam Talluri
If you find this a helpful response, kindly consider selecting Accept As Solution and clicking on the kudos button.

Tried this as well, getting the same error .

 

Regards,

Mansoor Ahmed