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

Cannot invoke method put() on null object

mayankshah
Regular Contributor
Regular Contributor

Getting below error for unsuccess response instead of getting the valid error description

{"auditDetails":{"Groups":[{"message":"Cannot invoke method put() on null object","status":"Failed"},

JSON Used:

{
"call": [
{
"name": "Groups",
"connection": "acctAuth",
"url": "https://xxxxxxxxx",
"httpMethod": "POST",
"httpParams": "{\"spi:userid\":\"${user.systemUserName}\",\"spi:groupname\": \"${entitlementValue.entitlement_value}\"}",
"httpHeaders": {
"apikey": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,
201
]
},
"unsuccessResponses": {
"statusCode": [
400,
403,
401,
404,
409,
501,
500
]
}
}
]
}

 

 

mayankshah_1-1728915543753.png

Appreciate any help.

Log details: 

 

2024-10-14T18:55:13+05:30-ecm-worker-rest.RestProvisioningService-quartzScheduler_Worker-4-5hsth-DEBUG-Got Webservice API Response: [headers:[Date: Mon, 14 Oct 2024 13:25:10 GMT, X-Powered-By: Servlet/3.0, X-Frame-Options: SAMEORIGIN, X-Content-Type-Options: nosniff, X-XSS-Protection: 1, Access-Control-Allow-Origin: *, Access-Control-Allow-Credentials: true, Access-Control-Allow-Methods: GET,POST,PUT,DELETE, Access-Control-Allow-Headers: maxauth,x-method-override,patchtype,content-type,accept,x-public-uri,properties, Access-Control-Expose-Headers: csrftoken,Location,maxrowstamp, Expires: Thu, 01 Dec 1994 16:00:00 GMT, Cache-Control: no-cache="set-cookie=******set-cookie":"******", Set-Cookie=******/; HttpOnly; SameSite=None; Secure, Connection: close, Transfer-Encoding: chunked, Content-Type: application/json, Content-Language: en-US], responseText:{"oslc:Error":{"oslc:statusCode":"400","errorattrname":"userid","spi:reasonCode":"BMXAA4191E","errorobjpath":"groupuser","correlationid":null,"errattrvalue":null,"oslc:message":"BMXAA4191E - The value XXXXX is not valid for User. Specify a valid value for User.","oslc:extendedError":{"oslc:moreInfo":{"rdf:resource":"http:\/\/xxxxxx\/xxxxx\/api\/error\/messages\/BMXAA4191E"}}}}, cookies:[JSESSIONID=0000BGTgA93d0q4RvyVrwoc1RVu:1d7mpbbkf; Path=/; HttpOnly; SameSite=None; Secure], statusCode:400]
 
2024-10-14T18:55:14+05:30-ecm-worker--null-5hsth--Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
 
2024-10-14T18:55:14+05:30-ecm-worker--null-5hsth--java.lang.NullPointerException: Cannot invoke method put() on null object at com.saviynt.provisoning.rest.RestProvisioningService.populateHttpParamsForOauth(RestProvisioningService.groovy:3619) at com.saviynt.provisoning.rest.RestProvisioningService.populateHttpParams(RestProvisioningService.groovy:3493) at com.saviynt.provisoning.rest.RestProvisioningService.populateHttpBeforeRetry(RestProvisioningService.groovy:4740) at com.saviynt.provisoning.rest.RestProvisioningService.isErrorRetry(RestProvisioningService.groovy:4710) at com.saviynt.provisoning.rest.RestProvisioningService.retryAfterFailure(RestProvisioningService.groovy:4694) at com.saviynt.provisoning.rest.RestProvisioningService.pullObjectsByRest(RestProvisioningService.groovy:4678) at com.saviynt.provisoning.rest.RestProvisioningService.processWebservice(RestProvisioningService.groovy:8573) at com.saviynt.provisoning.rest.RestProvisioningService$_provisionAccountsAccess_closure54.doCall(RestProvisioningService.groovy:8995) at com.saviynt.provisoning.rest.RestProvisioningService.provisionAccountsAccess(RestProvisioningService.groovy:8917) at com.saviynt.ecm.services.ArsTaskService.provisionAccessToAccounttarget(ArsTaskService.groovy:11864) at com.saviynt.ecm.services.ArsTaskHelperService$_whenTaskTypeIsOneAddAccess_closure45.doCall(ArsTaskHelperService.groovy:2911) at com.saviynt.ecm.services.ArsTaskHelperService.whenTaskTypeIsOneAddAccess(ArsTaskHelperService.groovy:2902) at com.saviynt.ecm.services.ArsTaskHelperService$_completeAutoProvTasksUpgraded_closure1.doCall(ArsTaskHelperService.groovy:166) at com.saviynt.ecm.services.ArsTaskHelperService.completeAutoProvTasksUpgraded(ArsTaskHelperService.groovy:161) at MultipleProvisioningJob.execute(MultipleProvisioningJob.groovy:222) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
 
2024-10-14T18:55:13+05:30-ecm-worker-rest.RestProvisioningService-quartzScheduler_Worker-4-5hsth-ERROR-Error in processWebservicejava.lang.NullPointerException: Cannot invoke method put() on null object
 
2024-10-14T18:55:13+05:30-ecm-worker-println.PrintlnToLogger-quartzScheduler_Worker-4-5hsth-DEBUG-Println :: | Error java.lang.NullPointerException: Cannot invoke method put() on null object
 
2024-10-14T18:55:13+05:30-ecm-worker-rest.RestProvisioningService-quartzScheduler_Worker-4-5hsth-DEBUG-Task Response: {"auditDetails":{"Groups":[{"message":"Cannot invoke method put() on null object","status":"Failed"},{"message":"Cannot invoke method put() on null object","status":"Failed"}]},"Groups":{"message":"Cannot invoke method put() on null object","status":"Failed"}}
6 REPLIES 6

NM
Honored Contributor III
Honored Contributor III

@mayankshah error check the values if those are right

responseText:{"oslc:Error":{"oslc:statusCode":"400","errorattrname":"userid","spi:reasonCode":"BMXAA4191E","errorobjpath":"groupuser","correlationid":null,"errattrvalue":null,"oslc:message":"BMXAA4191E - The value XXXXX is not valid for User. Specify a valid value for User.","oslc:extendedError":

mayankshah
Regular Contributor
Regular Contributor

The error is expected, as the access/group is already assigned to the user. The provisioning comment should store the error response in the task but the task is instead storing below error:

{"auditDetails":{"Groups":[{"message":"Cannot invoke method put() on null object","status":"Failed"}

mayankshah_0-1728919119648.png

Above screenshot of task prov comments doesn't reflect the application error.

mayankshah
Regular Contributor
Regular Contributor

ASK: The prov comments should store below error:

{"oslc:Error":{"oslc:statusCode":"400","errorattrname":"userid","spi:reasonCode":"BMXAA4191E","errorobjpath":"groupuser","correlationid":null,"errattrvalue":null,"oslc:message":"BMXAA4191E - The value XXXXX is not valid for User. Specify a valid value for User.","oslc:extendedError":{"oslc:moreInfo":{"rdf:resource":"http:\/\/xxxxxx\/xxxxx\/api\/error\/messages\/BMXAA4191E"}}}}, cookies:[JSESSIONID=0000BGTgA93d0q4RvyVrwoc1RVu:1d7mpbbkf; Path=/; HttpOnly; SameSite=None; Secure], statusCode:400]

  •  prov comments  is not configurable. Please raise idea ticket.

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

mayankshah
Regular Contributor
Regular Contributor

{"auditDetails":{"Groups":[{"message":"Cannot invoke method put() on null object","status":"Failed"}

Why is Saviynt storing this on the provisioning comments because there is no response in the API that says this error? Usually provisioning comments gets auto-populated based on the API response but in this case I am getting this error out of no where.

NM
Honored Contributor III
Honored Contributor III

@mayankshah if the API is giving 2 response .. it could be it is picking the second one.