Apex-Integration: Übersicht
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Beschreiben der Unterschiede zwischen Webservice- und HTTP-Callouts
- Autorisieren einer externen Website mit Einstellung für Remote-Standort
Richten von Callouts an externe Services aus Apex
Ein Apex-Callout ermöglicht Ihnen die enge Integration Ihres Apex-Codes in einen externen Service. Der Callout richtet einen Aufruf an einen externen Webservice oder sendet eine HTTP-Anforderung aus Apex-Code und empfängt anschließend die Antwort.
Apex-Callouts gibt es in zwei Ausprägungen.
- Webservice-Callouts an SOAP-Webservices nutzen XML und erfordern zur Codegenerierung in der Regel ein WSDL-Dokument.
- Für HTTP-Callouts an Services wird meist REST mit JSON verwendet.
Diese beiden Typen von Callouts sind sich hinsichtlich des Sendens einer Anforderung an einen Dienst und des Empfangens einer Antwort ähnlich. Aber während WSDL-basierte Callouts für SOAP-Webservices gelten, können HTTP-Callouts mit beliebigen HTTP-Services, entweder SOAP oder REST, verwendet werden.
Sie werden sich jetzt wahrscheinlich fragen, welchen Typ Sie verwenden sollten. Nutzen Sie nach Möglichkeit einen HTTP-Service. Diese Services ermöglichen zumeist eine einfachere Interaktion, erfordern wesentlich weniger Code und nutzen das einfach lesbare JSON-Format. Alle "coolen" Entwickler sind in den letzten Jahren zu REST-Services übergegangen, was aber nicht heißen soll, dass SOAP-Webservices schlecht sind. Es gibt sie gefühlt seit einer Ewigkeit (in Internetjahren) und sie werden weiterhin für Unternehmensanwendungen genutzt. Mit ihrem "Ableben" in Kürze ist nicht zu rechnen. Sie nutzen SOAP wahrscheinlich am meisten, wenn Sie eine Integration in ältere Anwendungen entwickeln oder für Transaktionen, die ein formales Austauschformat oder zustandsbehaftete Vorgänge verlangen. In dieser Lektion sprechen wir SOAP kurz an, befassen uns aber hauptsächlich mit REST.
Mit Trail Together einem Dozenten folgen
Möchten Sie bei diesem Schritt einem Experten folgen? Schauen Sie sich dieses Video an, das Teil der Reihe "Trail Together" auf Trailhead Live ist. Einen Link zur vollständigen Sitzung finden Sie im Abschnitt "Ressourcen".
Autorisieren von Endpunktadressen
Sicherheit spielt bei Salesforce eine ganz wichtige Rolle! Deshalb wollen wir immer, wenn Sie einen Callout an eine externe Website richten, sicherstellen, dass dieser autorisiert ist. Wir können einen Codeaufruf ohne vorherige Genehmigung nicht einfach so an einen beliebigen Endpunkt zulassen. Ehe Sie beginnen, mit Callouts zu arbeiten, aktualisieren Sie auf der Seite "Einstellung für Remote-Standort" die Liste genehmigter Websites für Ihre Organisation.
Wir verwenden in diesem Modul die folgenden Endpunkte, die Sie nun hinzufügen sollten. Wenn Sie vergessen sollten, einen Endpunkt hinzuzufügen, erhalten Sie eine Erinnerung, sobald Sie versuchen, Ihren Code auszuführen. Aufrufe werden an die folgenden Websites gerichtet.
- https://th-apex-http-callout.herokuapp.com
- https://th-apex-soap-service.herokuapp.com
Autorisieren Sie diese beiden Endpunkt-URLs über die folgenden Schritte.
- Geben Sie unter "Setup" im Feld "Quick Find (Schnellsuche)" den Text
Remote Site Settings
(Einstellungen für Remote-Standort) ein und wählen Sie Remote Site Settings (Einstellungen für Remote-Standort) aus. - Klicken Sie auf Neuer Remote-Standort.
- Geben Sie als Namen des Remote-Standorts
animals_http
ein. - Geben Sie als URL des Remote-Standorts
https://th-apex-http-callout.herokuapp.com
ein.
Dieser URL autorisiert alle Unterordner für den Endpunkt, wie z. B. https://th-apex-http-callout.herokuapp.com/path1 und https://th-apex-http-callout.herokuapp.com/path2. - Geben Sie als Beschreibung
Trailhead animal service:HTTP
ein. - Klicken Sie auf Speichern & Neu.
- Geben Sie als Namen des zweiten Remote-Standorts
animals_soap
ein. - Geben Sie als URL des Remote-Standorts
https://th-apex-soap-service.herokuapp.com
ein. - Geben Sie als Beschreibung
Trailhead animal service:SOAP
ein. - Klicken Sie auf Speichern.
Ressourcen
- AWS: Worin besteht der Unterschied zwischen SOAP und REST?
- Trailhead Live: Trail Together – Apex-Integrationsservices