Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Salesforce by (11.9k points)

I have an APEX Method that attempts to Post a form to a remote endpoint out of SFDC's APEX Code.

Everything seems to encode correctly, and the server sends back a 200 response, but the attachment isn't arriving with the request... is SFDC removing the content of my post body before it's sent?

HttpRequest req = new HttpRequest();

req.setHeader('Authorization','Basic '+EncodingUtil.base64Encode(Blob.valueOf('removed:removed')));

req.setHeader('Content-Type','multipart/form-data; boundary=-----------------------------153501500631101');

req.setHeader('X-Atlassian-Token','nocheck');

req.setMethod('POST');  

req.setEndpoint(endPoint+'issue/'+c.Internal_Bug_Number__c+'/attachments');

String body = '-----------------------------153501500631101\r\n';

body = body + 'Content-Disposition: form-data; name="Filedata"; filename="'+attachments[0].Name+'"\r\n';

body = body + 'Content-Type: '+attachments[0].ContentType+'\r\n';

body = body + 'Content-transfer-encoding: base64\r\n\r\n';

body = body + attachments[0].Body+ '\r\n';

body = body + '-----------------------------153501500631101--\r\n';

req.setBody(body); 

1 Answer

0 votes
by (32.1k points)

Try the solution in this link. It's a messed up solution with Blob+HttpResponse I've proposed. 

http://enreeco.blogspot.it/2013/01/salesforce-apex-post-mutipartform-data.html

To learn in-depth about Workflow in Salesforce, sign up for an industry based Salesforce Course.

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...