IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > Salesforceにおけるcalloutとは?転職の参考になる情報を紹介

Salesforceにおけるcalloutとは?転職の参考になる情報を紹介

IT・技術関連 更新日:2024.09.05
エンジニア採用
Salesforceにおけるcalloutとは?転職の参考になる情報を紹介

Salesforceにおけるcalloutとは? Salesforceにおけるcalloutは、Apex calloutを使用することで、外部 Webサービスへのコールを作成し、もしくは Apex コードから HTTP 要求を送信、応答を受信することにより、Apex が外部サービスと密接に統合される仕組みです。 calloutにより、Apex は外部WebもしくはHTTP サービスを呼び出せます。Apex Webサービスの使用で、外部アプリケーションはWebサービスの使用で、Apex メソッドを呼び出せます。 例) ・SOAP サービス: WSDL ドキュメントからのクラスの定義 ・HTTP コールアウトの呼び出し ・長時間要求の非同期コールアウト

リモートサイトの設定の追加について

Apex calloutで外部サイトを呼び出す前、そのサイトを [リモートサイトの設定] ページで登録しなければなりません。 登録しない場合はcalloutが失敗してしまいます。Salesforceでは、未承認のネットワークアドレスに対して、コールが行われないようになっています。 calloutでエンドポイントとしてログイン情報を指定する場合は、リモートサイト設定を定義する必要はないです。指定ログイン情報では、1つの定義にcalloutエンドポイントのURL、および必要な認証パラメータが指定されます。 また、良いパフォーマンスを得るために、「リモートHTTPS暗号化サイト」でOCSP Staplingがonになっているかを確認する必要があります。 指定ログイン情報の設定には、Salesforceヘルプにある「指定ログイン情報の定義」を参考にすると便利です。

指定ログイン情報について

指定ログイン情報とは、1つの定義に対して、calloutエンドポイントのURL、必要な認証パラメータの指定を行うことです。 Apex calloutにおいて、指定ログイン情報をcalloutエンドポイントとして指定すると、その認証が全て、 Salesforce で管理されます。指定ログイン情報で定義されたサイトは、外部サイトへのcalloutで必要なリモートサイト設定についても、スキップすることができます。 指定ログイン情報のなかには、非公開接続からのcalloutを転送する際に使用可能なOutboundNetworkConnection項目もあります。エンドポイントURLと認証を、calloutの定義から切り離すことにより、指定ログイン情報でcalloutを容易に管理することができるのです。

クラスの定義について

クラスは、ローカルハードドライブもしくはネットワーク保管のWSDL ドキュメントから自動的に生成することが可能です。 WSDLドキュメントを使用してクラスを作ると、Apexコード内で外部Webサービスにcalloutすることが可能です。 WSDLドキュメントを使うと、Apexクラスの生成後、外部サービスを呼び出すときにApexコードにスタブのインスタンスを作成、メソッドをコールします。 WebサービスcalloutにHTTPヘッダーを設定できます。例えば、この機能を使用して認証ヘッダーにCookieの値の設定が可能です。 Apexでは、ドキュメントリテラルでラップした、WSDLスタイル、プリミティブデータ型と組み込みデータ型だけサポートしています。

calloutの呼び出し

ApexではHTTPサービスを使うことで、HTTP要求を作成する、「組み込みクラス」が提供されます。 HTTPクラスを使い、RESTベースのサービスへの統合が可能です。さらに、HTTPクラスをSOAPベースのWebサービスへ統合、WSDLからApexコードの生成もできます。 WSDLでなくHTTPクラスを使うことにより、要求と応答のSOAPメッセージ構造がはっきりわかります。 Apexのリリースまたはパッケージ化は、コードのテストカバー率75%以上が必要です。デフォルトだと、テストメソッドがHTTPcalloutをサポートしないので、calloutを実行するテストは失敗します。 Test.setMockを使うことで、テストで擬似応答生成指示をApexにすると、HTTPcalloutのテストが有効になります。

証明書の使用について

双方向のSSL認証を使うために、Salesforceで生成、または証明機関で署名された証明書を、calloutと一緒に送信します。 証明書を送信することで、calloutの送信先が証明書を受信します。キーストアへの要求の認証にもこの証明書を使用できます。そのことにより、セキュリティが向上します。 calloutにおいて、エンドポイントで指定ログイン情報を指定するなら、リモートサイト設定の定義は必要はありません。 HTTP要求で証明書の使い方は、Salesforceでの証明書生成後、証明書を使い、HTTP要求へのcalloutすることで、双方向認証をサポートすることができます。 例)
HttpRequest req = new HttpRequest();
req.setClientCertificateName('DocSampleCert');

calloutの制限事項について

Apexコードにおいて、HTTP要求もしくはWebサービスコールに対するcalloutを実行する場合は制限があります。 Webサービスコールは、「SOAP APIコール」もしくは「外部のWebサービスコール」が使用可能です。 Salesforceでは、サイト切り替え、インスタンス更新などがSalesforceのメンテナンスアクティビティ中、「参照のみモード」になります。継続的サイトの切り替えは、Salesforceでだいたい半年ごとに、準備サイトに切り替わります。 Sandboxで「参照のみモード」のテストは、Salesforceに連絡、「参照のみモード」のテストオプションを有効化してもらう必要があります。テストオプションの有効化後、「参照のみモード」のオンへの切り替えで、アプリケーション検証が可能になります。

長時間calloutの実行について

非同期calloutを使うことで、「Visualforceページ」から「長時間の要求」を外部Webサービスで実行、コールバックメソッドで応答を処理することができます。 非同期calloutは、「Visualforceページ」から実行され、「コールバックメソッド」で応答が返ってくるcalloutです。非同期calloutは「継続」とも言われています。 非同期calloutを使うメリットがある、Salesforceアプリケーションは、ボタンが設定された「Visualforceページ」です。ユーザはこのボタンをクリックすることで、外部Webサービスからデータを取得することができます。 例えば、多数が同じボタンをクリックし、製品の保証情報を同時に処理するとします。この同時アクションで、普通は長時間要求の同時実行数の制限が超過します。これが非同期calloutを使うことで、制限から外れ、実行されるのです。

Salesforceにおけるcalloutを理解し、転職に活かそう

今回はSalesforceでのcalloutの使用について紹介しました。 IT業界において、calloutの意味は幅広く使われています。そのなかで、転職したい企業、または転職希望企業の一つであるSalseforceで、calloutがどのように使われているのかを理解することは、転職活動をしていくうえで、大変重要になります。 calloutに関してよく知らない、知識が不十分だという人も、本文を読んでcalloutの内容をよく理解し、転職活動につなげていきましょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ