- 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 05:22 PM
I added the httpStatus log
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 05:26 PM
but neither attempt created a new record in the target instance...do those logs indicate anything to help troubleshoot?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 05:33 PM
hi patricklatella,
If i understood correctly, you are able to connect to target instance and request object is getting generated.
1. Did you verified the web service in the target instance, is it sending a proper response?
2. Can you keep some logs in the target instance web service ?
3. Are you setting the variable substitutions to expected values?
4. Are you using table API or Custom Web service in Target ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 05:47 PM
Hi naveenvelagapudi, I'm unfortunately a little new at REST integrations...the logs I showed were all the debugging I'm done so far. How would I verify the elements you asked? Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2019 06:34 PM
also, this was working recently (another developer built it, then did a couple updates and broke it, and now I'm struggling to fix it).
So I know the RESTmessage is working