Saltar al contenido

Configurar Mensajes Salientes con Extremos HTTP Alojados

Introducción

Este patrón de diseño de integración configura un Salesforce regla de flujo de trabajo que envía un mensaje saliente a un Extremo HTTP alojado cuando un objeto cambia (en este ejemplo, el objeto Cuenta). Un proyecto de Design Studio procesa el mensaje saliente de Salesforce, asigna los datos del objeto y los guarda en una base de datos. Los Extremos HTTP alojados solo se pueden utilizar con Agentes Privados.

Nota

No se recomienda el uso de Extremos HTTP alojados. El patrón de diseño de integración recomendado para Agentes en Nube se describe en Configuración de mensajes salientes con una API de API Manager.

Para configurar este patrón, siga estas secciones en orden:

  • Parte 1: En Design Studio, cree una nueva operación y copie la URL del servicio web alojado.
  • Parte 2: En Salesforce, configure una regla de flujo de trabajo para enviar un mensaje saliente a la URL del servicio web cuando cambie un objeto y descargue el archivo WSDL que define el mensaje.
  • Parte 3: En Design Studio, expanda la nueva operación para recibir y confirmar el mensaje saliente de Salesforce, y asignar y almacenar los valores modificados en una base de datos.
  • Parte 4: Regrese a Salesforce para activar el mensaje saliente y luego pruebe el patrón de diseño de integración completo.

Parte 1: URL del Extremo del Servicio Web de Design Studio

  1. Cree un nuevo proyecto de Design Studio.

  2. En la lista de elementos del proyecto a la izquierda, haga clic derecho en Operaciones, luego seleccione Nueva operación.

  3. En el cuadro de diálogo Seleccionar tipo, seleccione Servicio web alojado y luego haga clic en Continuar.
  4. En la ventana Nueva operación, establezca el nombre de la nueva operación en Aceptar solicitud de Salesforce.
  5. Haga clic en la flecha hacia abajo junto al nombre de la operación y luego seleccione Ver URL del servicio web alojado.
  6. En el cuadro de diálogo URL del servicio web alojado, en el campo Servidor, ingrese el nombre de host o la dirección IP donde se ejecuta su agente privado (123.456.789.001 en este ejemplo).

    Parte 1 URL del servicio web

    Nota

    Si el agente se ejecuta detrás de un firewall, debe configurar un túnel o proxy de acceso público y abrir el puerto HTTP 46908 (o 46909 para HTTPS).

  7. Haga clic en Copiar al portapapeles para guardar la URL de la Parte 2, luego haga clic en Cerrar.

  8. En la ventana Nueva operación, haga clic en Guardar.

    La operación incompleta Aceptar solicitud de Salesforce:

    Parte 1 URL del servicio web

Parte 2: Configurar una Regla de Flujo de Trabajo de Salesforce y Descargar el Archivo WSDL

  1. En Salesforce, seleccione Configuración > Herramientas de plataforma > Automatización de procesos > Reglas de Flujo de Trabajo.
  2. En la página Reglas de Flujo de Trabajo, haga clic en el botón Nueva regla (resaltado en la imagen a continuación). Si se abre un cuadro de diálogo Pruébelo en Flow Builder, haga clic en Continuar con las reglas de Flujo de Trabajo.

    Regla de Flujo de Trabajo 2

  3. En la página Nueva regla de Flujo de Trabajo, haga clic en el menú Objeto, seleccione Cuenta y luego haga clic en Siguiente.

    Regla de Flujo de Trabajo 3

  4. En la página Cuenta, ingrese los valores para lo siguiente y luego haga clic en Guardar y siguiente:

    • Nombre de la regla: Su elección de nombre.
    • Descripción: (Opcional) Una descripción para esta regla.
    • Criterios de evaluación: Creado y cada vez que se edita.
    • Criterios de regla: Haga clic en Ejecutar esta regla si y luego seleccione La fórmula se evalúa como verdadera.
    • En el campo de fórmula, ingrese verdadero.

    Regla de Flujo de Trabajo 4

  5. En la página Editar regla, haga clic en Agregar acción de Flujo de Trabajo y luego seleccione Nuevo mensaje saliente (resaltado en la imagen a continuación).

    Regla de Flujo de Trabajo 5

  6. En la página Nuevo mensaje saliente, ingrese los valores para lo siguiente y luego haga clic en Guardar:

    • Nombre: Tu elección de nombre.
    • Nombre único: Este nombre se genera automáticamente en función del valor de Nombre y las reglas de nomenclatura del campo.
    • Descripción: (Opcional) Una descripción para este mensaje saliente.
    • URL del Extremo: Pegue la URL del servicio web alojado copiada en la Parte 1.
    • Usuario para enviar como: Ingrese el usuario que envía el mensaje saliente. El valor predeterminado es su nombre de usuario de Salesforce.
    • Componente protegido: No seleccionado.
    • Enviar ID de sesión: No seleccionado.
    • Campos de cuenta para enviar: Seleccione los campos de objeto para enviar. En este ejemplo, solo se seleccionan Nombre y Teléfono. El campo Id se selecciona automáticamente porque es el campo clave para el objeto.

    Regla de Flujo de Trabajo 6

  7. En la página Editar regla, haga clic en Listo.

    Regla de Flujo de Trabajo 7

  8. En la página Regla de Flujo de Trabajo, en la sección Acciones inmediatas de Flujo de Trabajo, haga clic en el enlace de descripción del mensaje saliente (resaltado en la imagen a continuación).

    Regla de Flujo de Trabajo 8

  9. En la página Detalle del mensaje saliente del Flujo de Trabajo del mensaje, haga clic en el enlace Haga clic para WSDL en la fila etiquetada Extremo WSDL (resaltado en la imagen a continuación).

    Regla de Flujo de Trabajo 9

  10. Se abre un archivo XML en una nueva ventana del navegador. Guarde el archivo con un .wsdl extensión. Dependiendo de su sistema operativo, es posible que deba cambiar la extensión del archivo de .xml a .wsdl después de la descarga.

Parte 3: Operaciones del Design Studio

Definir un Método de Servicio Web

  1. En el proyecto Design Studio iniciado en la Parte 1, en los elementos del proyecto a la izquierda, haga clic derecho en Métodos de servicio web y seleccione Nuevo método de servicio web.
  2. En la ventana Nuevo método de servicio web, seleccione Seleccionar un archivo WSDL local, haga clic en Examinar, seleccione el archivo WSDL descargado previamente, luego haga clic en Siguiente > y espere validación de archivos.

    Método de servicio web 1

  3. En el paso Operación, haga clic en Siguiente >.

    Método de servicio web 2

  4. En el paso Detalles, haga clic en Finalizar.

    Método de servicio web 3

  5. Cierre la ventana Nuevo método de servicio web.

    Método de servicio web 4

Definir una Llamada de Servicio Web

  1. En la ventana de operación Aceptar solicitud de Salesforce, haga doble clic en la actividad Llamada de servicio web.
  2. En el cuadro de diálogo Seleccionar llamada de servicio web, seleccione Nuevo método de servicio web y luego haga clic en Aceptar.

    Llamada de servicio web 1

  3. Haga doble clic en finalizar la actividad de transformación y luego haga clic en Crear nueva Transformación.

  4. En la ventana Nueva Transformación, establezca los valores para lo siguiente y luego haga clic en Finalizar:

    • Nombre: Respuesta de Salesforce.
    • Fuente: (Ninguno)
  5. En la ventana de transformación Salesforce Response, expanda todos los nodos de destino hasta que el elemento [EV?] Ack (Boolean) es visible, luego haga doble clic en él.

    Llamada de servicio web 2

  6. En la ventana Creador de fórmulas, edite el secuencia de comandos para que coincida con lo siguiente, luego haga clic en Aceptar para cerrar el editor de secuencia de comandos:

    <trans>
    true
    </trans>
    

    Llamada de servicio web 3

  7. En la ventana de transformación Salesforce Response, haga clic en Guardar y luego cierre la ventana.

    Llamada de servicio web 4

  8. Haga doble clic en la actividad de transformación del medio y luego haga clic en Crear nueva Transformación.

  9. En la ventana Nueva Transformación, establezca los valores para lo siguiente y luego haga clic en Siguiente >:

    • Nombre: Solicitud de Salesforce
    • Destino: Texto

    Llamada de servicio web 5

  10. En el paso Destino, haga clic en Definiciones de formato de archivo disponibles y luego seleccione Crear nuevo.

  11. Establezca valores para lo siguiente y luego haga clic en Crear manualmente.

    • Nombre: Formato de solicitud de Salesforce
    • Seleccione tipo de documento: Documento de texto simple
    • Seleccione formato de documento: Delimitado por caracteres

    Llamada de servicio web 6

  12. En la sección Definir propiedades de segmento, haga clic en el botón Nuevo para crear un nuevo campo.

  13. En Nombre de campo, ingrese En blanco y luego haga clic en Finalizar.

    Llamada de servicio web 7

  14. Cierre la ventana de transformación Solicitud de Salesforce.

    La operación incompleta Aceptar solicitud de Salesforce:

    Llamada de servicio web 8

Definir la Fuente de 'solicitud Entrante'

  1. En la lista de elementos del proyecto a la izquierda, haga clic derecho en Fuentes, luego seleccione Nueva fuente.
  2. En el cuadro de diálogo Seleccionar tipo, seleccione Almacenamiento temporal y luego haga clic en Continuar.

  3. En la ventana Nueva fuente, ingrese valores para lo siguiente:

    • Nombre: Solicitud entrante
    • Obtener archivos: IncomingRequest[fileGUID].xml

    Solicitud entrante 1

  4. Haga clic en Guardar y luego cierre la ventana.

  5. En la lista de elementos del proyecto a la izquierda, haga clic con el botón derecho en la nueva fuente Solicitud entrante y luego seleccione Copiar a nuevo destino.
  6. En la ventana de destino Solicitud entrante, haga clic en Guardar y luego cierre la ventana.

    Solicitud entrante 2

  7. En la ventana de operación Aceptar solicitud de Salesforce, haga doble clic en la transformación Solicitud de Salesforce.

  8. En la ventana de transformación Solicitud de Salesforce, haga doble clic en el campo En blanco en el árbol de destino.

    Solicitud entrante 3

  9. En la ventana Creador de fórmulas, edite la fórmula para que coincida con lo siguiente, luego haga clic en Aceptar para cerrar el editor de secuencia de comandos:

    <trans>
    $fileGUID=GUID();
    WriteFile("<TAG>Targets/Incoming Request</TAG>", GetXmlString([root$], true]));
    </trans>
    

    Solicitud entrante 4

  10. En la ventana de transformación Solicitud de Salesforce, haga clic en Guardar y luego cierre la ventana.

    Solicitud entrante 5

Crear la Operación 'upsert Database'

  1. En la ventana de operación Aceptar solicitud de Salesforce, seleccione la flecha hacia abajo junto al nombre de la operación, luego seleccione En caso de éxito > Operación > Crear nueva operación.
  2. En el cuadro de diálogo Seleccionar tipo, seleccione Transformación y luego haga clic en Continuar.

  3. Establezca el nombre de la nueva operación en Upsert Database.

    Actualizar base de datos 1

  4. En la operación Upsert Database, haga doble clic en Fuente.

  5. En la ventana Seleccionar fuente, seleccione Solicitud entrante y luego haga clic en Aceptar.

    Actualizar base de datos 2

  6. En la operación Upsert Database, haga doble clic en Destino.

  7. En la ventana Seleccionar destino, haga clic en Crear nuevo destino.
  8. En la ventana Nuevo destino, establezca los valores para lo siguiente, haga clic en Probar conexión y luego cierre la ventana Base de datos:

    • Nombre: Base de datos
    • Tipo: Base de datos
    • Parámetros de conexión: Configure los parámetros para su base de datos. (En este ejemplo se muestra una conexión a un servidor PostgreSQL).

    Actualizar base de datos 3

  9. En la operación Upsert Database, haga doble clic en Transformación.

  10. En la ventana Seleccionar Transformación, seleccione Crear nueva Transformación.
  11. En la ventana Nueva Transformación, ingrese valores para lo siguiente y luego haga clic en Siguiente >:

    • Nombre: Salesforce a la base de datos
    • Fuente: Solicitud de servicio web alojado

    Actualizar base de datos 4

  12. En el paso Fuente, haga clic en Siguiente >.

    Actualizar base de datos 5

  13. En el paso TARGET, haga clic en Descargar lista de tablas. Seleccione la tabla de la base de datos de destino, haga clic en la flecha derecha para moverla a la lista Tablas seleccionadas y luego haga clic en Siguiente >.

    Actualizar base de datos 6

  14. En el paso Destino, haga clic en Finalizar.

    Actualizar base de datos 7

  15. En la ventana de transformación Salesforce a base de datos, expanda los árboles de origen y destino, asigne campos arrastrando y soltando, luego haga clic en Guardar y cierre la ventana de transformación.

    Actualizar base de datos 8

  16. En la ventana de operación Aceptar solicitud de Salesforce, haga clic en Guardar.

    Finalizado Aceptar solicitud de Salesforce

  17. En el menú principal, seleccione Acciones > Desplegar. En el cuadro de diálogo Desplegar, en Seleccione un tipo de despliegue, seleccione Todo y luego haga clic en Desplegar.

Parte 4: Actualizar la URL del Extremo de Salesforce y Activar

  1. En Salesforce, seleccione Configuración > Herramientas de plataforma > Automatización de procesos > Reglas de Flujo de Trabajo.
  2. En la página Todas las reglas de Flujo de Trabajo, haga clic en Activar para su mensaje saliente (resaltado en la imagen a continuación).

    Regla de Flujo de Trabajo

Pruebe la Integración

Para probar este patrón de diseño de integración, siga estos pasos:

  1. En Salesforce, abra la aplicación Servicio y seleccione la pestaña Cuentas.
  2. Edite un contacto de la cuenta y luego guárdelo.
  3. Inicie sesión en su base de datos y consultar la tabla de destino.