Apex インテグレーションの概要
学習の目的
このモジュールを完了すると、次のことができるようになります。
- Web サービスと HTTP コールアウトの違いを説明する。
- [リモートサイトの設定] で外部サイトを承認する。
Apex からの外部サービスへのコールアウトの実行
Apex コールアウトを使用すると、Apex コードと外部サービスを緊密に統合できます。コールアウトでは、Apex コードから外部 Web サービスへのコールを実行したり、HTTP 要求を送信したりして、その応答を受信します。
Apex コールアウトは 2 種類あります。
- SOAP Web サービスへの Web サービスコールアウトでは XML を使用し、通常はコード生成に WSDL ドキュメントが必要になります。
- サービスへの HTTP コールアウトでは REST と JSON を使用します。
これらの 2 種類のコールアウトは、要求をサービスに送信して応答を受信するという点では似ています。ただし、WSDL ベースのコールアウトは SOAP Web サービスに適用され、HTTP コールアウトは HTTP サービス (SOAP または REST) で使用できます。
そのため、「どちらを使用すべきか?」と疑問に思っている方は、できる限り HTTP サービスを使用してください。一般的に、これらのサービスの方が操作が簡単で、必要なコードが大幅に少なく、読みやすい JSON を利用できます。ここ数年間で「クールな若者」はみな REST サービスに切り替えていますが、SOAP Web サービスが悪いというわけではありません。SOAP Web サービスには (インターネットイヤーでは) 非常に長い歴史があり、主にエンタープライズアプリケーションで使用されています。これらがすぐになくなるということはありません。SOAP は、主に従来のアプリケーションと統合する場合や、正規の交換形式またはステートフル操作を必要とするトランザクションで使用することになるでしょう。このモジュールでは SOAP についても軽く触れますが、大半を REST についての説明に費やします。
一緒にトレイルを進みましょう
エキスパートの説明を見ながらこのステップを実行したい場合は、次の動画をご覧ください。これは Trailhead Live の「Trail Together」(一緒にトレイル) シリーズの一部です。完全なセッションへのリンクは、「リソース」セクションを参照してください。
エンドポイントアドレスの承認
私たちは Salesforce でセキュリティを確保することに強い誇りをもっています。ですから、お客様が外部サイトへのコールアウトを実行するときは、そのコールアウトが常に承認済みであるようにしたいと思っています。事前の承認を行わず、行き当たりばったりにコードで任意のエンドポイントにコールアウトさせることはできません。コールアウトの作業を開始する前に、[リモートサイトの設定] ページで組織の承認済みサイトのリストを更新します。
このモジュールでは、次のエンドポイントを使用するため、これらのエンドポイントを今すぐ追加してください。エンドポイントを追加するのを忘れても、コードの実行時に通知されるので心配はいりません。次のサイトへのコールを実行します。
- https://th-apex-http-callout.herokuapp.com
- https://th-apex-soap-service.herokuapp.com
次の手順に従って、これらのエンドポイント URL を両方とも承認します。
- [Setup (設定)] から、[Quick Find (クイック検索)] ボックスに
Remote Site Settings
(リモートサイトの設定) と入力し、[Remote Site Settings (リモートサイトの設定)] をクリックします。 - [新規リモートサイト] をクリックします。
- リモートサイト名に
animals_http
と入力します。 - リモートサイトの URL に
https://th-apex-http-callout.herokuapp.com
と入力します。
この URL では、エンドポイントのすべてのサブフォルダー (https://th-apex-http-callout.herokuapp.com/path1 や https://th-apex-http-callout.herokuapp.com/path2 など) が承認されます。 - 説明に
Trailhead animal service:HTTP
(Trailhead 動物サービス: HTTP) と入力します。 - [保存 & 新規] をクリックします。
- 2 番目のリモートサイト名に
animals_soap
と入力します。 - リモートサイトの URL に
https://th-apex-soap-service.herokuapp.com
と入力します。 - 説明に
Trailhead animal service:SOAP
(Trailhead 動物サービス: SOAP) と入力します。 - [Save (保存)] をクリックします。
リソース
- AWS: SOAP と REST にはどのような違いがありますか?
- Trailhead Live: Trail Together - Apex Integration Services (Apex インテグレーションサービス)