Soap message i cant send attachments via soap message
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-25-2023 05:04 AM
If anyone has information, please respond to this with links and find the solution. I want to send Attachments creator via soap, but I am having trouble and getting errors.
5 REPLIES 5
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-29-2023 03:33 AM
Hi,
@ankurbiswas
I have tired diffrent solutions for Attachements for via web service. I have written BR for this
I have tired diffrent solutions for Attachements for via web service. I have written BR for this
(function executeRule(current, previous /*null when async*/ ) {
// Code to check if incident already exist on the other system
var s = new sn_ws.SOAPMessageV2('Lemongrass', 'getRecords');
s.setStringParameterNoEscape('getRecords.number', current.number);
var response = s.execute();
var ResponseBody = response.getBody();
var status = response.getStatusCode();
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(ResponseBody);
var num = xmlDoc.getNodeText('//number');
var sysId = xmlDoc.getNodeText('//sys_id');
//var status = xmlDoc.getNodeText('status_code');
gs.addInfoMessage(status);
gs.addInfoMessage(num);
if (num) {
//Updating the record if record already exist in the other system
var s2 = new sn_ws.SOAPMessageV2('Lemongrass', 'update');
s2.setStringParameterNoEscape('update.sys_id', sysId);
s2.setStringParameterNoEscape('update.short_description', current.short_description);
s2.setStringParameterNoEscape('update.resolved_by', current.resolved_by);
s2.setStringParameterNoEscape('update.sys_id', sysId);
s2.setStringParameterNoEscape('update.resolved_at', current.resolved_at);
s2.setStringParameterNoEscape('update.urgency', current.urgency);
s2.setStringParameterNoEscape('update.closed_by', current.closed_by);
s2.setStringParameterNoEscape('update.hold_reason', current.hold_reason);
s2.setStringParameterNoEscape('update.caller_id', current.caller_id);
s2.setStringParameterNoEscape('update.category', current.category);
s2.setStringParameterNoEscape('update.close_notes', current.close_notes);
s2.setStringParameterNoEscape('update.close_code', current.close_code);
if (current.state == '6' || current.state == '7' || current.state == '8')
s2.setStringParameterNoEscape('update.state', '7');
else
s2.setStringParameterNoEscape('update.state', current.state);
s2.setStringParameterNoEscape('update.impact', current.impact);
s2.setStringParameterNoEscape('update.number', current.number);
s2.setStringParameterNoEscape('update.active', current.active);
s2.setStringParameterNoEscape('update.work_notes', current.work_notes);
s2.setStringParameterNoEscape('update.contact_type', current.contact_type);
s2.setStringParameterNoEscape('update.subcategory', current.subcategory);
s2.setStringParameterNoEscape('update.priority', current.priority);
s2.setStringParameterNoEscape('update.description', current.description);
s2.setStringParameterNoEscape('update.location', current.location);
s2.setStringParameterNoEscape('update.assignment_group', current.assignment_group);
s2.setStringParameterNoEscape('update.comments', current.comments);
s2.setStringParameterNoEscape('update.cmdb_ci', current.cmdb_ci);
s2.setStringParameterNoEscape('update.closed_at', current.closed_at);
s2.setStringParameterNoEscape('update.opened_by', current.opened_by);
s2.setStringParameterNoEscape('update.correlation_id', current.sys_id);
//////////////////////////////Attachment 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();
gs.info("123 Records Found"+gR.getRowCount());
while(gR.next()){
try {
var binData = attachments.getBytes(gR);
var encData = StringUtil.base64Encode(binData);
gs.log('XML Respons for payload='+encData);
//Calling Attachment API
var s = new sn_ws.SOAPMessageV2('attachment', 'insert');
s.setStringParameterNoEscape('source', 'incident:'+current.correlation_id);
s.setStringParameterNoEscape('payload', encData);
s.setStringParameterNoEscape('topic', 'AttachmentCreatorV2');
s.setStringParameterNoEscape('agent', 'AttachmentCreatorV2');
s.setStringParameterNoEscape('name', gR.file_name+':'+gR.content_type);
gs.info("123 Request Body Found"+s.getRequestBody());
var response = s.execute();
var responseBody = response.getBody();
var status = response.getStatusCode();
gs.log("attachment ==== "+status+", resbody = "+responseBody);
}
catch(ex) {
var message = ex.getMessage();
gs.log("attachment ==== message == "+message);
}
}
//////////////////////////////Attachment Code////////////////////////
var response2 = s2.execute();
var responseBody2 = response2.getBody();
var status2 = response2.getStatusCode();
} else {
gs.addErrorMessage(num);
var s1 = new sn_ws.SOAPMessageV2('Lemongrass', 'insert');
s1.setStringParameterNoEscape('insert.description', current.description);
s1.setStringParameterNoEscape('insert.work_notes', current.work_notes);
s1.setStringParameterNoEscape('insert.impact', current.impact);
s1.setStringParameterNoEscape('insert.state', current.state);
s1.setStringParameterNoEscape('insert.close_code', current.close_code);
s1.setStringParameterNoEscape('insert.closed_by', current.closed_by);
s1.setStringParameterNoEscape('insert.closed_at', current.closed_at);
s1.setStringParameterNoEscape('insert.number', current.number);
s1.setStringParameterNoEscape('insert.close_notes', current.close_notes);
s1.setStringParameterNoEscape('insert.comments', current.comments);
s1.setStringParameterNoEscape('insert.resolved_by', current.resolved_by);
s1.setStringParameterNoEscape('insert.category', current.category);
s1.setStringParameterNoEscape('insert.caller_id', current.caller_id);
s1.setStringParameterNoEscape('insert.urgency', current.urgency);
s1.setStringParameterNoEscape('insert.location', current.location);
s1.setStringParameterNoEscape('insert.cmdb_ci', current.cmdb_ci);
s1.setStringParameterNoEscape('insert.short_description', current.short_description);
s1.setStringParameterNoEscape('insert.contact_type', current.contact_type);
s1.setStringParameterNoEscape('insert.subcategory', current.subcategory);
s1.setStringParameterNoEscape('insert.resolved_at', current.resolved_at);
s1.setStringParameterNoEscape('insert.assignment_group', current.assignment_group);
s1.setStringParameterNoEscape('insert.priority', current.priority);
s1.setStringParameterNoEscape('insert.opened_by', current.opened_by);
s1.setStringParameterNoEscape('insert.hold_reason', current.hold_reason);
s1.setStringParameterNoEscape('insert.correlation_id', current.sys_id);
var response1 = s1.execute();
var responseBody1 = response1.getBody();
var status1 = response1.getStatusCode();
gs.log('target resopnse body' + responseBody1);
}
})(current, previous);
Please go through it get the crt solution for this
Thanks
Please go through it get the crt solution for this
Thanks