Loading

HTTP Callout fails with 'Content-Length is missing' error

Дата публикации: Oct 13, 2022
Описание
While invoking a HTTP Callout, 'Content-Length is missing' error is observed. 

For example if the HTTP Callout code is executed in Apex Anonymous, the below error is seen in the debug log:
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint('https://xxxx');
req.setMethod('POST');
.......
........
req.setHeader('Authorization', authorizationHeader);
req.setHeader('Content-Type','application/json');
HttpResponse res = h.send(req);

 Error:
{"fault":{"faultstring":"Content-Length is missing","detail":{"errorcode":"messaging.adaptors.http.flow.LengthRequired"}}}

 
Решение
The content length header is missing.

If size of the entity body is known add it in the header. If the body is not present you can specify the length as 0.
req.setHeader('Content-Length', '0');

NOTE: POST requests require the Content-Length header to be set.

HttpRequest Class
List of HTTP header fields
Номер статьи базы знаний

000387575

 
Загрузка
Salesforce Help | Article