- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-17-2022 05:19 AM
i am working on integration and while creating REST - Create user in IAM - POST method i am getting this error , please help me to fix this . the code is stopped running after line number 15, script has been attached.
//OIM Manager ID and Location values. We'll pass these into the function that creates the new user
var oimMgrID = workflow.scratchpad.oimMgrId;
gs.log('oimMgrID1', oimMgrID);
var oimMgrLoc = workflow.scratchpad.oimMgrLoc;
gs.log('oimMgrLoc1', oimMgrLoc);
var worknote = []; //work notes we'll write to the RITM
gs.log('worknote1', worknote);
workflow.scratchpad.operation = 'Run script \"REST - Create user in IAM - POST\"';
//Create a new user in OIM via REST POST
try {
gs.log('u');
workflow.info('Run script \"REST - Create user in IAM - POST\" - Create new user START');
gs.log('w');
var ccu = new cbi_COPAUtils();
gs.log('123');
var response = ccu.createOIMUser(current, oimMgrID, oimMgrLoc);
//var response = ccu.createOIMUser(current, mgrVal, mgrRef);
gs.log(' response01', response );
var respArr = [];
gs.log('respArr01', respArr);
respArr = response.split('|');
gs.log('e');
//respArr[0] is the HTTP status code
//respArr[1] is the response body
var status = respArr[0];
gs.log('status451',status);
var respBody = respArr[1];
gs.log(' respBodyoo', respBody);
var jsonObj = new JSON.parse(respBody);
gs.log('jsonObj001', jsonObj);
var detail = jsonObj.detail; //if there's an error this object property will be present and have a value
gs.log('detail000', detail);
workflow.info('Run script \"REST - Create user in IAM - POST\" - Create OIM User response HTTP Status:' + status);
workflow.info('Run script \"REST - Create user in IAM - POST\" - Create OIM User response body: ' + respBody);
gs.log('t');
if(status == '200' || status == '201') {
activity.result = 'success';
//Get info about the user from OIM that we'll need to add the user role
var oimUID = jsonObj['id'];
var metaObj = jsonObj['meta']; //the "meta" object contains the user's location URL
var oimLoc = metaObj['location'];
//Get the new user's info
var userObj = jsonObj['urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'];
workflow.scratchpad.employeeNumber = userObj.employeeNumber;
workflow.scratchpad.oimUserID = oimUID;
workflow.scratchpad.oimUserRef = oimLoc;
workflow.info('OIM User ID: ' + oimUID);
workflow.info('OIM Record Locator: ' + oimLoc);
workflow.info('New User employee nbr: ' + workflow.scratchpad.newEmpNbr);
//User creation successful. Update the RITM's work notes
worknote.push('New user created in OIM with Employee number/User ID: ' + workflow.scratchpad.employeeNumber);
} else if(status == '400' && detail.indexOf('already exists') > -1) { //Status 400 may indicate that the user already exists
activity.result = 'success';
var userEmail = current.variables.email.toString();
workflow.info('Run script \"REST - Create user in IAM - POST\" - Getting existing OIM User record for email ' + userEmail);
//Get the user record in OIM from their email
var getUserResp = ccu.getOIMUser(userEmail);
workflow.info('Run script \"REST - Create user in IAM - POST\" - Response from getOIMUser:\n ' + getUserResp);
var respArr2 = [];
respArr2 = getUserResp.split('|');
//respArr[0] is the HTTP status code
//respArr[1] is the response body
var status = respArr2[0];
var respBody2 = respArr2[1];
var jsonObj2 = new JSON.parse(respBody2);
// for (var key in jsonObj2) {
// workflow.info('>>>Key: ' + key + ' | value: ' + jsonObj2[key]);
// }
var resources = jsonObj2["Resources"]; //get the Resources value, which is an array object with a single element
var userObj = resources[0]; //array element 0 is a JSON object
var isActive = userObj["active"]; //gets a boolean value [true|false]
workflow.scratchpad.errCode = status;
workflow.scratchpad.userIsActive = isActive;
//If the user is inactive, update the worknotes
// if(!isActive) {
// worknote.push('User with email ' + userEmail + ' already exists and is inactive in OIM. Cancelling the request');
// }
} else { //All other statuses and/or details indicate an error condition.
activity.fault_description = status + ' | ' + respBody;
workflow.scratchpad.errCode = status;
workflow.scratchpad.errMsg = response.toString();
workflow.scratchpad.cancelReason = 'Unable to create user in IAM';
workflow.scratchpad.cancelDetail = 'ServiceBar was either unable to contact IAM or IAM returned an error that prevented further processing. The IT service desk has been notified.';
worknote.push('Cancelling request due to web service error ' + status + ' in workflow: ' + workflow.scratchpad.operation);
worknote.push(workflow.scratchpad.cancelReason);
worknote.push(workflow.scratchpad.cancelDetail);
}
current.work_notes = worknote.join('\n');
}
catch(e) {
workflow.error('CATCH Error in Run script \"REST - Create user in IAM - POST\" - ' + JSON.stringify(e));
}
{"message":"\"gS\" is not defined.","fileName":"#0(eval)","sourceName":"#0(eval)","lineNumber":41,"name":"ReferenceError","stack":"\tat sys_script_include.80ac0014dbc49700ee805dd5ce96192b.script:224 (anonymous)\n\tat #0(eval):41 (getApproverMgr)\n\tat #0(eval):2\n\tat <refname>:17\n\tat sys_script_include.d3669766c0a8016901828e92d1202ac5.script:279 (anonymous)\n\tat sys_script_include.0360b36d0a0a0b260a89dfec60c339c4.script:844 (anonymous)\n\tat sys_script.070a46fe0a0a0b260555062b357f0a83.script:13 (runWorkflow_userApprove)\n\tat sys_script.070a46fe0a0a0b260555062b357f0a83.script:9\n\tat sys_ui_action.845b8667c611227d01a264f153aaf953.script:2\n","rhinoException":{}} |
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-17-2022 04:57 PM
Is "cbi_COPAUtils" a custom class? There may be a typo of "gS" instead of "gs" in that class.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-17-2022 04:57 PM
Is "cbi_COPAUtils" a custom class? There may be a typo of "gS" instead of "gs" in that class.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2022 04:29 AM
Thank you Hitoshi it got resolved