Outbound REST - Multipart/form-data
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-22-2018 12:54 AM
Hi,
Currently working on an outbound REST to 3rd party tool (through a mid server). 3rd party requires mutipart to be sent when sending a file to attach/upload.
Test the POST call on postman and all ok. When in servericenow I'm getting no-where quick 🙂
That said I can get some kind of response just not the one I want (i.e. file uploaded). See REST content:
-----WebKitFormBoundaryAAA
Content-Disposition: form-data; name="file"; filename=${filename};
Content-Type:${contenttype}
${file}
-----WebKitFormBoundaryAAA
${contenttype} comes from the content type of the attachment on the sys_attachment table and ${file} is created using the below (which is in a script include):
-----------------------------------------------------------------------------------
var grAtt = new GlideRecord('sys_attachment');
grAtt.addQuery('table_sys_id', sys_id of attachment);
grAtt.query();
if(grAtt.next()){
var gsa = GlideSysAttachmentInputStream(grAtt.sys_id.toString());
var bytesContent = new Packages.java.io.ByteArrayOutputStream();
gsa.writeTo(bytesContent);
bytesContent.close();
//Get the file content
var mycontentStr = new Packages.java.lang.String(bytesContent.toByteArray());
i then set mycontentStr as a parameter to pass to the rest call.
Any help would be appreciated!...ive scoured the community and read a few things that multipart not supported and to use MId server script include however there seems to be conflicting views on this.
- Labels:
-
Integrations
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2020 10:17 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-25-2021 08:17 AM
I struggled with this for a few days but from this comment I finally understood what that article was referring to. I am working on a Box integration and the extra parameters need to be added as shown in the article above in the setResponse function of the MultipartREST script include. I will probably copy this function for Box as the extra parameters are specific to Box. Thanks for explaining this here!
