Error in brule

Vimal Priya
Giga Guru

Hi All,

I am getting an error when using

car str= new GlideStringUtil() and

var a = new sysAttachment()

error message - illegal access of GlideStringUtil in the script

8 REPLIES 8

Vimal Priya
Giga Guru

Hi All,



Thanks for your valuable reply.



Its not an scoped application .



Actually my requirement is to send an attachment with the incident from one SNow instance to another SNow instance through Web services.



Below is my code ,



var StringUtil = new GlideStringUtil();


  var attachments = new GlideSysAttachment();


  var fileName, contentType;


  var gR = new GlideRecord('sys_attachment');


  gR.addEncodedQuery('table_name=incident^table_sys_id='+current.sys_id);


  gR.query();


  while(gR.next()){


  try {


  var binData =   attachments.getBytes(gR);


  var encData =   StringUtil.base64Encode(binData);


  gs.log('XML Respons for payload='+encData);


  var s = new sn_ws.SOAPMessageV2('create_attachment', 'insert');


  s.setStringParameter('source', 'change_request:'+current.u_change_sysid);


  s.setStringParameter('payload', encData);


  s.setStringParameter('topic', 'AttachmentCreator');


  s.setStringParameter('agent', 'AttachmentCreator');


  s.setStringParameter('name', gR.file_name+':'+gR.content_type);


  var response = s.execute();


  var responseBody = response.getBody();


  var status = response.getStatusCode();


  }


  catch(ex) {


  var message = ex.getMessage();


  }


  }



Any suggestions ??


Capture.PNG


FYR @Pradeep ; @ Morris ; @ gurpreet


Hi Vimal,



You may find the below thread helpful.


https://community.servicenow.com/thread/174744


Hi Pradeep,


FYR,


Below is my full code for the task



function onAfter(current, previous) {


 


  /*var xmldoc = new XMLDocument(response, true);


  var str= xmldoc.getNodeText("//short_description");


  gs.log(str);


  var strg=xmldoc.getNodeText("//assigned_to");


  gs.log(strg);*/






var s = new sn_ws.SOAPMessageV2('CreateINC533', 'insert');


s.setStringParameter('assigned_to', current.assigned_to);


s.setStringParameter('short_description', current.short_description);


s.setStringParameter('number', current.number);


var response = s.execute();


var responseBody = response.getBody();


var status = response.getStatusCode();



  /*


  gs.addInfoMessage(response.toString());




var helper = new XMLHelper(response);


var obj = helper.toObject();



logObj(obj, "*" );




function logObj(obj, sep){


    for (var x in obj){


          if (typeof obj[x] != "function"){


    if(x == "sys_id" && JSUtil.notNil(obj[x])){


      gs.log(sep + x + ":: " + obj[x]);


    //Attachment Creator


    var grSysAtt = new GlideRecord('sys_attachment');


    grSysAtt.addQuery('table_sys_id', current.sys_id);


    grSysAtt.query();


    while (grSysAtt.next()){


 


    gs.log(grSysAtt.table_sys_id + 'sys id of the record foound');


    var sa = GlideSysAttachment();


    var binData = sa.getBytes(grSysAtt);


    var encData = GlideStringUtil.base64Encode(binData);


    gs.log("Encoded data:" + encData);


    //var sm =new sn_ws.SOAPMessageV2('CreateAttachment533', 'insert');


    s.setStringParameter('agent', 'AttachmentCreator');


    s.setStringParameter('topic', 'AttachmentCreator');


    s.setStringParameter('payload', encData);


    s.setStringParameter('name', grSysAtt.file_name+':'+grSysAtt.content_type);


    s.setStringParameter('source', grSysAtt.table_name+':'+obj[x]);


  // var response2 = sm.execute();


    // var responseBody2 = response2.getBody();


// var status2 = response2.getStatusCode();


          }


    }


    }


          logObj(obj[x], sep + "*" );


    }


}*/



  // var StringUtil = Packages.com.glide.util.StringUtil;


//var StringUtil = new GlideStringUtil();




  //var attachments= Packages.com.glide.ui.SysAttachment();


  //var attachments= new GlideSysAttachment();




  var StringUtil = new GlideStringUtil;




  var attachments = new GlideSysAttachment();




  var fileName, contentType;




  var gR = new GlideRecord('sys_attachment');




  gR.addEncodedQuery('table_name=incident^table_sys_id='+current.sys_id);




  gR.query();




  while(gR.next()){




 




  var binData =   attachments.getBytes(gR);




  var encData =   StringUtil.base64Encode(binData);




  gs.log('XML Respons for payload='+encData);




  var s1 = new sn_ws.SOAPMessageV2('Create_Attachment', 'insert');




  s1.setStringParameter('source', 'change_request:'+current.u_change_sysid);




  s1.setStringParameter('payload', encData);




  s1.setStringParameter('topic', 'AttachmentCreator');




  s1.setStringParameter('agent', 'AttachmentCreator');




  s1.setStringParameter('name', gR.file_name+':'+gR.content_type);




  var response1= s1.execute();




  var responseBody1 = response1.getBody();




  var status1 = response1.getStatusCode();




}}


I tried with XMLHelper , It seems ticket is creating but attachment not found in that ticket in another instance .


So that I am trying to copy the attachment .



Thanks in advance


Kind Regards,


VimalPriya S