- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 04:21 PM
Hi all,
I'm working on a one-way REST integration between 2 instances. This script is running in a business rule on the source instance, and is supposed to create a new record on the target instance. It was working prior to some updates and now is not working...anyone see what I'm missing?
This is triggered by a record producer on the source instance.
For now I'm just trying to create the record on the target incident table and populate the 'description' field.
Here's the script with a couple log entries"
(function executeRule(current, previous /*null when async*/) {
function jsonEncode(str){
str = new JSON().encode(str);
return str.substring(1, str.length - 1);
}
if(current.contact_type == 'self-service') {//set correctly in the record producer script
try {
var r = new sn_ws.RESTMessageV2('One Way OB', 'POST');
r.setStringParameterNoEscape('description', jsonEncode(current.description + ''));
gs.info('desc is '+current.description); //log correctly shows the value in the description field on the form
var response = r.execute();
gs.info('response is '+response); //log shows "response is [object RESTResponseV2]"
var responseBody = response.getBody();
gs.info('responseBody is '+responseBody); //log shows "responseBody is {"error":{"message":"Exception while reading request","detail":"Cannot decode: java.io.StringReader@5d5403"},"status":"failure"}" error has something to do with this?
var httpStatus = response.getStatusCode();
var jsonObject = JSON.parse(responseBody);
}
catch(ex) {
var message = ex.getMessage();
}
}
})(current, previous);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2019 12:56 PM
we got it working, here's our script:
(function executeRule(current, previous /*null when async*/) {
function jsonEncode(str)
{
str = new JSON().encode(str);
return str.substring(1, str.length - 1);
}
try {
var r = new sn_ws.RESTMessageV2('One Way OB', 'Post');
r.setStringParameterNoEscape('caller_id', current.caller_id.name);
r.setStringParameterNoEscape('requested_by_caller', current.u_requested_by_caller.name);
r.setStringParameterNoEscape('impact', current.impact);
r.setStringParameterNoEscape('urgency', current.urgency);
r.setStringParameterNoEscape('short_description', current.short_description);
r.setStringParameterNoEscape('description', jsonEncode(current.description + ''));
r.setStringParameterNoEscape('is_service_request', current.u_is_service_request);
r.setStringParameterNoEscape('practice', current.u_what_technology_is_this_related_to.u_name);
r.setStringParameterNoEscape('work_engagement', current.u_what_work_engagement_is_this_related_to.u_name);
r.setStringParameterNoEscape('required_completion_time', current.required_completion_date_time);
r.setStringParameterNoEscape('required_start_time', current.required_start_date_time);
//gs.log("working");
var response = r.execute();
var responseBody = response.getBody();
//gs.log("Body is :" +responseBody);
var httpStatus = response.getStatusCode();
//gs.log("httpsstatus code:" + httpStatus);
var jsonObject = JSON.parse(responseBody);
}
catch(ex) {
var message = ex.getMessage();
}
})(current, previous);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 04:54 PM
Can you try removing replacing
var responseBody = response.getBody(); with
var responseBody =JSON.parse(response.getBody());
Second thing to try is:
Replace
r.setStringParameterNoEscape('description', jsonEncode(current.description + '')); with
r.setStringParameter('description', current.description + '');
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 05:18 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 05:19 PM
trying the 2nd one now
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 05:21 PM