Configurar mensajes salientes con extremos HTTP alojados en Jitterbit Design Studio
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 Account). 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 usar 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 privados y en la 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 de su 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 un objeto cambia 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 asigne y almacene 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 completado.
Parte 1: URL del extremo del servicio web de Design Studio
-
Crea un nuevo proyecto de Design Studio.
-
En la lista de elementos del proyecto a la izquierda, haga clic derecho en Operaciones y luego seleccione Nueva operación.
- En el cuadro de diálogo Seleccionar tipo, seleccione Servicio web alojado y haga clic en Continuar.
- En la ventana Nueva operación, establezca el nombre de la nueva operación en Aceptar solicitud de Salesforce.
- Haga clic en la flecha hacia abajo junto al nombre de la operación y luego seleccione Ver URL del servicio web alojado.
-
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).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).
-
Haga clic en Copiar al portapapeles para guardar la URL de la Parte 2, luego haga clic en Cerrar.
-
En la ventana Nueva operación, haga clic en Guardar.
La operación Aceptar solicitud de Salesforce incompleta:
Parte 2: Configurar una regla de flujo de trabajo de Salesforce y descargar el archivo WSDL
- En Salesforce, seleccione Configuración > Herramientas de plataforma > Automatización de procesos > Reglas de Flujo de trabajo.
-
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 el cuadro de diálogo Pruébelo en el Generador de flujos, haga clic en Continuar con las reglas de Flujo de trabajo.
-
En la página Nueva regla de Flujo de trabajo, haga clic en el menú Objeto, seleccione Cuenta y luego haga clic en Siguiente.
-
En la página Cuenta, ingrese valores para lo siguiente y luego haga clic en Guardar y siguiente:
- Nombre de la regla: Tu 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 la regla: Haga clic en Ejecutar esta regla si, luego seleccione La fórmula se evalúa como verdadera.
- En el campo de fórmula, ingrese true.
-
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).
-
En la página Nuevo mensaje saliente, ingrese valores para lo siguiente y luego haga clic en Guardar:
- Nombre: El nombre que elijas.
- Nombre único: Este nombre se genera automáticamente en función del valor de Nombre y las reglas de nombres 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 de envío: 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 del objeto que desea enviar. En este ejemplo, solo se seleccionaron Nombre y Teléfono. El campo Id se selecciona automáticamente, ya que es el campo clave del objeto.
-
En la página Editar regla, haga clic en Listo.
-
En la página Regla de Flujo de trabajo, en la sección Acciones inmediatas del Flujo de trabajo, haga clic en el enlace de descripción del mensaje saliente (resaltado en la imagen a continuación).
-
En la página Detalles del mensaje saliente del Flujo de trabajo del mensaje, haga clic en el enlace Haga clic para WSDL en la fila denominada WSDL del Extremo (resaltado en la imagen a continuación).
-
Se abrirá 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 tenga que cambiar la extensión del archivo de.xml
a.wsdl
Después de descargarlo.
Parte 3: Operaciones del Design Studio
Definir un método de servicio web
- En el proyecto Design Studio iniciado en Parte 1, en los elementos del proyecto de la izquierda, haga clic derecho en Métodos de servicio web y seleccione Nuevo método de servicio web.
-
En la ventana Nuevo método de servicio web, seleccione Seleccionar un archivo WSDL local, haga clic en Explorar, seleccione el archivo WSDL descargado previamente, haga clic en Siguiente > y espere a que se valide el archivo.
-
En el paso Operación, haga clic en Siguiente >.
-
En el paso Detalles, haga clic en Finalizar.
-
Cierre la ventana Nuevo método de servicio web.
Definir una llamada de servicio web
- En la ventana de la operación Aceptar solicitud de Salesforce, haga doble clic en la actividad Llamada de servicio web.
-
En el cuadro de diálogo Seleccionar llamada de servicio web, seleccione Nuevo método de servicio web y haga clic en Aceptar.
-
Haga doble clic en la actividad de transformación final y luego haga clic en Crear nueva Transformación.
-
En la ventana Nueva Transformación, establezca valores para lo siguiente y luego haga clic en Finalizar:
- Nombre: Salesforce Response.
- Fuente: (Ninguna)
-
En la ventana de transformación Respuesta de Salesforce, expanda todos los nodos de destino hasta que el elemento
[EV?] Ack (Boolean)
Si está visible, haga doble clic en él. -
En la ventana Generador de fórmulas, edite el secuencia de comandos para que coincida con lo siguiente y luego haga clic en Aceptar para cerrar el editor de secuencia de comandos:
<trans> true </trans>
-
En la ventana de transformación Salesforce Response, haga clic en Guardar y luego cierre la ventana.
-
Haga doble clic en la actividad de transformación del medio y luego haga clic en Crear nueva Transformación.
-
En la ventana Nueva Transformación, establezca valores para lo siguiente y luego haga clic en Siguiente >:
- Nombre: Solicitud de Salesforce
- Objetivo: Texto
-
En el paso Objetivo, haga clic en Definiciones de formatos de archivo disponibles y seleccione Crear nuevo.
-
Establezca los siguientes valores y haga clic en Crear manualmente.
- Nombre: Formato de solicitud de Salesforce
- Seleccionar tipo de documento: Documento de texto simple
- Seleccionar formato de documento: Delimitado por caracteres
-
En la sección Definir propiedades del segmento, haga clic en el botón Nuevo para crear un nuevo campo.
-
En Nombre del campo, introduzca En blanco y haga clic en Finalizar.
-
Cierre la ventana de transformación Solicitud de Salesforce.
La operación Aceptar solicitud de Salesforce incompleta:
Definir la fuente de 'Solicitud entrante'
- En la lista de elementos del proyecto a la izquierda, haga clic con el botón derecho en Fuentes y seleccione Nueva fuente.
-
En el cuadro de diálogo Seleccionar tipo, seleccione Almacenamiento temporal y haga clic en Continuar.
-
En la ventana Nueva fuente, introduzca los siguientes valores:
- Nombre: Solicitud entrante
- Obtener archivos:
IncomingRequest[fileGUID].xml
-
Haga clic en Guardar y cierre la ventana.
-
En la lista de elementos del proyecto a la izquierda, haga clic con el botón derecho en el nuevo origen de Solicitud entrante y seleccione Copiar a nuevo destino.
-
En la ventana de destino de Solicitud entrante, haga clic en Guardar y cierre la ventana.
-
En la ventana de operación Aceptar solicitud de Salesforce, haga doble clic en la transformación Solicitud de Salesforce.
-
En la ventana de transformación Solicitud de Salesforce, haga doble clic en el campo En blanco en el árbol de destino.
-
En la ventana Generador de fórmulas, edite la fórmula para que coincida con lo siguiente y 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>
-
En la ventana de transformación Solicitud de Salesforce, haga clic en Guardar y luego cierre la ventana.
Crear la operación 'Upsert Database'
- En la ventana de la operación Aceptar solicitud de Salesforce, seleccione la flecha hacia abajo junto al nombre de la operación y, luego, seleccione En caso de éxito > Operación > Crear nueva operación.
-
En el cuadro de diálogo Seleccionar tipo, seleccione Transformación y haga clic en Continuar.
-
Establezca el nombre de la nueva operación en Upsert Database.
-
En la operaciónUpsert Database, haga doble clic en Source.
-
En la ventana Seleccionar origen, seleccione Solicitud entrante y haga clic en Aceptar.
-
En la operaciónUpsert Database, haga doble clic en Target.
- En la ventana Seleccionar objetivo, haga clic en Crear nuevo objetivo.
-
En la ventana Nuevo destino, establezca 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: Establezca los parámetros de su base de datos. (En este ejemplo se muestra una conexión a un servidor PostgreSQL).
-
En la operaciónUpsert Database, haga doble clic en Transformación.
- En la ventana Seleccionar Transformación, seleccione Crear nueva Transformación.
-
En la ventana Nueva Transformación, ingrese valores para lo siguiente y luego haga clic en Siguiente >:
- Nombre: Salesforce a base de datos
- Fuente: Solicitud de servicio web alojado
-
En el paso Origen, haga clic en Siguiente >.
-
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, a continuación, haga clic en Siguiente >.
-
En el paso Objetivo, haga clic en Finalizar.
-
En la ventana de transformación Salesforce a base de datos, expanda los árboles de origen y destino, asigne los campos arrastrándolos y soltándolos, luego haga clic en Guardar y cierre la ventana de transformación.
-
En la ventana de operación Aceptar solicitud de Salesforce, haga clic en Guardar.
-
En el menú principal, seleccione Acciones > Desplegar. En el cuadro de diálogo Desplegar, en Seleccionar un tipo de despliegue, seleccione Todo y haga clic en Desplegar.
Parte 4: Actualizar la URL del extremo de Salesforce y activar
- En Salesforce, seleccione Configuración > Herramientas de plataforma > Automatización de procesos > Reglas de Flujo de trabajo.
-
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).
Probar la integración
Para probar este patrón de diseño de integración, siga estos pasos:
- En Salesforce, abra la aplicación Servicio y seleccione la pestaña Cuentas.
- Edite un contacto de la cuenta y luego guárdelo.
- Inicie sesión en su base de datos y consultar la tabla de destino.