Descripción general de la integración de Apex
Objetivos de aprendizaje
Después de completar este módulo, podrá:
- Describir las diferencias entre las llamadas de servicio web y HTTP.
- Autorizar un sitio externo con la configuración de sitio web remoto.
Hacer llamadas a servicios externos desde Apex
Una llamada Apex permite una integración controlada estrictamente del código Apex con un servicio externo. La llamada llama a un servicio web externo o envía una solicitud HTTP desde el código Apex y, a continuación, recibe la respuesta.
Hay dos tipos de llamadas Apex:
- En las llamadas de servicio web a servicios web SOAP se usa XML y se suele requerir un documento WSDL para la generación de código.
- En las llamadas HTTP a servicios se suele usar REST con JSON.
Estos dos tipos de llamadas son similares dado que ambos casos se envía una solicitud a un servicio y se recibe una respuesta. Sin embargo, mientras que las llamadas basadas en WSDL solicitan servicios web SOAP, las llamadas HTTP se pueden usar con cualquier servicio HTTP, ya sea SOAP o REST.
Ahora, probablemente se esté preguntando “¿qué opción debería usar?” Siempre que sea posible, use un servicio HTTP. La interacción con estos servicios suele ser más sencilla. Además, requieren mucho menos código y se usa JSON de fácil lectura. Todos los usuarios al tanto de “lo más novedoso” han ido cambiando a los servicios REST en el último par de años, lo cual no quiere decir que los servicios web SOAP sean una mala opción. Han estado ahí siempre (en Internet durante años) y se suelen usar en aplicaciones para compañías. No es probable que desaparezcan en un futuro próximo. Es probable que use SOAP principalmente cuando vaya a realizar una integración con aplicaciones heredadas o para transacciones que requieren un formato de intercambio formal u operaciones con estado. En este módulo haremos referencia a SOAP, pero dedicaremos la mayor parte del tiempo a REST.
Siga el proceso con Trail Together
¿Desea seguir el proceso con un experto a medida que realiza este paso? Eche un vistazo a este video, parte de la serie Trail Together en Trailhead Live. Encontrará un vínculo a la sesión completa en la sección Recursos.
Autorizar direcciones de extremo
En Salesforce nada nos gusta más que la seguridad. Por lo tanto, siempre que hace una llamada a un sitio externo, nos aseguramos de que se ha autorizado. No podemos tener código llamando sin ningún orden a cualquier extremo sin una autorización previa. Antes de empezar a trabajar con llamadas, actualice la lista de sitios autorizados para su organización en la página Configuración de sitio Web remoto.
Dado que usaremos los siguientes extremos en este módulo, no dude en agregarlos ahora. Si se olvida de agregar un extremo, recibirá un recordatorio siempre que intente ejecutar el código. Haremos llamadas a los siguientes sitios.
- https://th-apex-http-callout.herokuapp.com
- https://th-apex-soap-service.herokuapp.com
Autorice ambas direcciones URL de extremo mediante estos pasos:
- En Setup (Configuración), ingrese
Remote Site Settings
(Configuración de sitio remoto) en el cuadro de búsqueda rápida y haga clic en Remote Site Settings (Configuración de sitio remoto). - Haga clic en Nuevo sitio remoto.
- Para el nombre del sitio remoto, ingrese
animals_http
. - Para la URL del sitio remoto, ingrese
https://th-apex-http-callout.herokuapp.com
.
Esta URL autoriza todas las subcarpetas en el extremo, como https://th-apex-http-callout.herokuapp.com/path1 y https://th-apex-http-callout.herokuapp.com/path2. - Para la descripción, ingrese
Trailhead animal service:HTTP
. - Haga clic en Guardar y nuevo.
- Para el nombre del segundo sitio remoto, ingrese
animals_soap
. - Para la dirección URL del sitio remoto, ingrese
https://th-apex-soap-service.herokuapp.com
. - Para la descripción, ingrese
Trailhead animal service:SOAP
. - Haga clic en Guardar.
Recursos
- AWS: ¿Cuál es la diferencia entre SOAP y REST?
- Trailhead Live: Trail Together: Servicios de integración de Apex