how can i print RESTMessageV2 object body i've setted

Suhyeon Lee
Tera Expert
i cannot print RESTMessageV2 body, how and what can i do?

 

var StringUtil = new GlideStringUtil();
var attachments = new GlideSysAttachment();
var gr = new GlideRecord('sys_attachment');
gr.addEncodedQuery('sys_id=9ac0009e1b189150d72ba79ce54bcb42');
gr.query();
 
var message = new sn_ws.RESTMessageV2('AIP 연동', 'File Upload');
 
while(gr.next()){
    var binData = attachments.getBytes(gr);
    var encData = StringUtil.base64Encode(binData);
 
    message.setRequestHeader("Content-Type", "multipart/form-data;    boundary=---------------------------8d8190a4594aa82");
    //r.setRequestHeader("Content-Disposition", "form-data");
    
    var body = "-----------------------------8d8190a4594aa82\r\n";
    body += "Content-Disposition:form-data;";
    body += "name='file1'\r\n";
    body += 'filename="'+gr.file_name+'"\r\n';
    body += 'Content-Type:'+gr.content_type+'\r\n';    
    body += encData;
    body += "\r\n-----------------------------8d8190a4594aa82--\r\n";
    message.setRequestBody(body);
}
 

gs.print('reqHeaders :' + JSON.stringify(message.getRequestHeaders()));
gs.print('reqBody : ' + JSON.stringify(message.getBody())) ;
 
var response = message.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
 
gs.print(httpStatus);
gs.print(JSON.stringify(responseBody));
 
1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

I have updated your code.

Ideally you should be keeping the lines outside while

var StringUtil = new GlideStringUtil();
var attachments = new GlideSysAttachment();
var gr = new GlideRecord('sys_attachment');
gr.addEncodedQuery('sys_id=9ac0009e1b189150d72ba79ce54bcb42');
gr.query();

var message = new sn_ws.RESTMessageV2('AIP 연동', 'File Upload');
var body = "-----------------------------8d8190a4594aa82\r\n";
while(gr.next()){
    var binData = attachments.getBytes(gr);
    var encData = StringUtil.base64Encode(binData);
    body += "Content-Disposition:form-data;";
    body += "name='file1'\r\n";
    body += 'filename="'+gr.file_name+'"\r\n';
    body += 'Content-Type:'+gr.content_type+'\r\n';    
    body += encData;
    body += "\r\n-----------------------------8d8190a4594aa82--\r\n";

}

message.setRequestHeader("Content-Type", "multipart/form-data;    boundary=---------------------------8d8190a4594aa82");
message.setRequestBody(body);

gs.print('reqHeaders :' + JSON.stringify(message.getRequestHeaders()));
gs.print('reqBody : ' + message.getRequestBody()) ;

var response = message.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();

gs.print(httpStatus);
gs.print(JSON.stringify(responseBody));

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

2 REPLIES 2

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

I have updated your code.

Ideally you should be keeping the lines outside while

var StringUtil = new GlideStringUtil();
var attachments = new GlideSysAttachment();
var gr = new GlideRecord('sys_attachment');
gr.addEncodedQuery('sys_id=9ac0009e1b189150d72ba79ce54bcb42');
gr.query();

var message = new sn_ws.RESTMessageV2('AIP 연동', 'File Upload');
var body = "-----------------------------8d8190a4594aa82\r\n";
while(gr.next()){
    var binData = attachments.getBytes(gr);
    var encData = StringUtil.base64Encode(binData);
    body += "Content-Disposition:form-data;";
    body += "name='file1'\r\n";
    body += 'filename="'+gr.file_name+'"\r\n';
    body += 'Content-Type:'+gr.content_type+'\r\n';    
    body += encData;
    body += "\r\n-----------------------------8d8190a4594aa82--\r\n";

}

message.setRequestHeader("Content-Type", "multipart/form-data;    boundary=---------------------------8d8190a4594aa82");
message.setRequestBody(body);

gs.print('reqHeaders :' + JSON.stringify(message.getRequestHeaders()));
gs.print('reqBody : ' + message.getRequestBody()) ;

var response = message.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();

gs.print(httpStatus);
gs.print(JSON.stringify(responseBody));

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Thanks. Ankur

Regards suhyeon