この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

HTTP のクラス

これらのクラスは HTTP 要求および応答の機能を表示します。

  • Http クラス: HTTP 要求と応答を開始するにはこのクラスを使用します。
  • HttpRequest クラス: プログラムに基づいて GET、POST、PUT、および DELETE のような HTTP 要求を作成するには、このクラスを使用します。
  • HttpResponse クラス: HTTP で返された HTTP の応答を処理するには、このクラスを使用します。
HttpRequest クラスと HttpResponse クラスは、次の要素をサポートします。
  • HttpRequest
    • GET、POST、PUT、DELETE、TRACE、CONNECT、HEAD、および OPTIONS などの HTTP 要求型
    • 要求ヘッダー (必要な場合)
    • 読み取りおよび接続タイムアウト
    • リダイレクト (必要な場合)
    • メッセージ本文の内容
  • HttpResponse
    • HTTP 状況コード
    • 応答ヘッダー (必要な場合)
    • レスポンスボディの内容

次の例では、url パラメータで getCalloutResponseContents メソッドに渡される外部サーバへの HTTP GET 要求を行います。この例では、返されたレスポンスボディにもアクセスします。

1public class HttpCalloutSample {
2
3  // Pass in the endpoint to be used using the string url
4  public String getCalloutResponseContents(String url) {
5
6    // Instantiate a new http object
7    Http h = new Http();
8
9     // Instantiate a new HTTP request, specify the method (GET) as well as the endpoint
10    HttpRequest req = new HttpRequest();
11    req.setEndpoint(url);
12    req.setMethod('GET');
13
14    // Send the request, and return a response
15    HttpResponse res = h.send(req);
16    return res.getBody();
17  }
18}

前の例は、同期して実行されます。つまり、外部 Web サービスが応答を返すまで、それ以上の処理は発生しません。または、@future アノテーションを使用してコールアウトを非同期に実行することもできます。

エンドポイントまたはリダイレクトエンドポイントから外部サーバにアクセスするには、認証されたリモートサイトのリストにリモートサイトを追加しておきます。Salesforce にログインし、[設定] から、[クイック検索] ボックスに「リモートサイトの設定」と入力して [リモートサイトの設定] を選択します。

  • AJAX プロキシは、リダイレクトと認証チャレンジ (401/407 応答) を自動的に処理します。AJAX プロキシの詳細は、AJAX Toolkit のマニュアルを参照してください。
  • エンドポイントを指定ログイン情報 URL として設定できます。指定ログイン情報 URL にはスキームcallout:、指定ログイン情報の名前、必要に応じて追加されたパスが含まれます。例: callout:My_Named_Credential/some_path。指定ログイン情報では、1 つの定義にコールアウトエンドポイントの URL と必要な認証パラメータを指定します。Apex コールアウトで指定ログイン情報をコールアウトエンドポイントとして指定するすべての認証が Salesforce によって管理されるため、コードでこれらを行う必要はありません。指定ログイン情報で定義されたサイトについては、外部サイトへのコールアウトに必要なリモートサイト設定もスキップできます。「コールアウトエンドポイントとしての指定ログイン情報」を参照してください。

メモ

HttpRequest で作成されたリクエストボディ内、またはHttpResponse でアクセスされたレスポンスボディ内の XML または JSON コンテンツを解析するには、XML クラスまたは JSON クラスを使用します。