You need to sign in to do that
Don't have an account?
SAP-SFDC Integration
Am getting the following error in POST http method.
Error: CSRF token validation failed and System.HttpResponse[Status=Forbidden, StatusCode=403]"|0x43de18c1
I have two http request, 1. GET and 2. POST. Please review my code below and let me know where am missing.
GET:
Http h = new Http();
// Instantiate a new HTTP request, specify the method (GET) as well as the endpoint
HttpRequest req = new HttpRequest();
req.setHeader('Content-Type', 'application/atom+xml');
req.setHeader('x-csrf-token', 'fetch');
req.setHeader('Authorization', 'BASIC ' + EncodingUtil.base64Encode(Blob.valueOf('username:pasword')));
req.setMethod('GET');
req.setEndpoint(url1);
HttpResponse res = h.send(req);
POST: Using the above response and passing the CSRF token to my POST method,
req.setHeader('Content-Type', 'application/atom+xml');
req.setHeader('X-CSRF-Token',maptoken.get('x-csrf-token'));
req.setHeader('Authorization', 'BASIC ' + EncodingUtil.base64Encode(Blob.valueOf('username:pasword')));
req.setMethod('POST');
req.setEndpoint(url2);
req.setBody('xml hard coded');
HttpResponse ires = h.send(req);
I have fixed it. Set the cookie in the header will solve the issue.
I used this in GET:
strCookies = res.getHeader('Set-Cookie')
and in SET:
req2.setHeader('Cookie', strCookies);
But still getting the CSRF token validation failed message.