Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

HTTP コールアウトで「Content-Length is missing (Content-Length がありません)」エラーが発生する

公開日: Oct 13, 2022
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。

HTTP コールアウトの呼び出し中に「Content-Length is missing (Content-Length がありません)」エラーが発生します。 

たとえば、HTTP コールアウトコードが匿名 Apex で実行されると、デバッグログに以下のエラーが表示されます。
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);

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

 
解決策
Content-Length ヘッダーがありません。

エンティティボディのサイズがわかっている場合は、ヘッダーに追加します。ボディが存在しない場合は、長さを 0 に指定できます。
req.setHeader('Content-Length', '0');

注意: POST リクエストでは、Content-Length ヘッダーを設定する必要があります。

HttpRequest クラス
HTTP ヘッダーフィールドのリスト
ナレッジ記事番号

000387575

 
読み込み中
Salesforce Help | Article