Cómo: Crear un itinerario para enrutar dinámicamente un mensaje a una dirección de correo mediante una consulta LDAP
Objetivo
En esta sección se muestra cómo crear un itinerario que consulta una dirección de correo electrónico a través de LDAP (protocolo ligero de acceso a directorios) y, a continuación, envía un mensaje de correo electrónico al punto de conexión resuelto mediante el adaptador SMTP de BizTalk Server.
En este tema de procedimientos, completará los pasos siguientes:
Cree una lista de enrutamiento de itinerarios para enrutar dinámicamente un mensaje mediante una consulta LDAP.
Pruebe el itinerario mediante la aplicación de ejemplo Cliente de prueba de itinerarios.
Requisitos previos
Los procedimientos de este tema de procedimientos requieren la finalización de los requisitos previos para las actividades de desarrollo.
El equipo en el que completará esta sección debe tener el servicio de directorio de Microsoft Active Directory configurado y en ejecución (no es necesario que el equipo sea el controlador de dominio, pero debe estar conectado al dominio). Además, se debe configurar y ejecutar un servidor SMTP; para probar el resultado de este tema de procedimientos, debe tener un cliente con el que comprobar el correo electrónico enviado por el ESB.
En las instrucciones de esta sección se supone que una organización denominada Global Bank, con un dominio de globalbank.com, con una unidad organizativa de Active Directory denominada Employees que contiene un usuario llamado John Evans con una dirección de correo electrónico válida en su perfil (por johne@globalbank.comejemplo, ). No es necesario replicar estos factores ambientales; Sin embargo, para volver a crear esta implementación en su entorno, tenga en cuenta estos factores y realice sustituciones según sea necesario.
Pasos
Para crear un modelo de lenguaje específico del dominio (DSL) de ESB
En Visual Studio, abra C:\HowTos\Patterns\Patterns.sln.
En Explorador de soluciones, haga clic con el botón derecho en el proyecto ItineraryLibrary, seleccione Agregar y, a continuación, haga clic en Nuevo itinerario.
En el cuadro de diálogo Agregar nuevo elemento , escriba LdapResolution en el cuadro Nombre y, a continuación, haga clic en Agregar.
Para configurar las propiedades del itinerario
En Visual Studio, haga clic en la superficie de diseño de LdapResolution.itinerary. En el ventana Propiedades LdapResolution, configure las siguientes propiedades:
En la lista desplegable Exportador de modelos, haga clic en Exportador de itinerarios XML.
En la sección Configuración del extensor , junto a la propiedad Archivo XML de itinerario , haga clic en el botón de puntos suspensivos (...).
En el cuadro de diálogo Seleccionar archivo XML , escriba C:\HowTos\Itinerarios\LdapResolution en el cuadro Nombre de archivo y, a continuación, haga clic en Guardar.
Nota:
Este paso le permite exportar el itinerario como XML a una ubicación de archivo local. Al exportar un itinerario a una ubicación de archivo local, en lugar de a la base de datos de itinerarios, permite realizar pruebas del itinerario mediante la aplicación cliente de prueba de ESB. Completará este proceso más adelante en este tema de procedimientos.
Para definir la estructura del itinerario
En el Cuadro de herramientas, arrastre un elemento modelo on-Ramp a la superficie de diseño. En el ventana Propiedades OnRamp1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba ReceiveNAOrder.
En la lista desplegable Extender , haga clic en On-Ramp ESB Extender.
En la lista desplegable Aplicación de BizTalk , haga clic en Microsoft.Practices.ESB.
En la lista desplegable Puerto de recepción , haga clic en OnRamp.Itinerary.
Desde el cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño y colóquelo a la derecha del elemento modelo On-Ramp . En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba RouteMessageEmail.
En la lista desplegable Extender del servicio de itinerarios , haga clic en Extender de mensajería.
Nota:
Esta propiedad define que el proceso tendrá lugar en una canalización (mensajería). Como alternativa, si el proceso tendrá lugar en una orquestación, establezca la propiedad Itinerary Service Extender en Orchestration Extender.
En la lista desplegable Contenedor , expanda ReceiveNAOrdery, a continuación, haga clic en Controladores de recepción.
En la lista desplegable Nombre de servicio , haga clic en Microsoft.Practices.ESB.Services.Routing.
Haga clic con el botón derecho en la colección Resolver del elemento de modelo RouteMessageEmail y, a continuación, haga clic en Agregar nuevo solucionador. En el ventana Propiedades Resolver1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba LdapResolver.
En la lista desplegable Implementación del solucionador , haga clic en Extensión de resolución LDAP.
En la lista desplegable Nombre de transporte , haga clic en SMTP.
Haga clic en la propiedad Ubicación de transporte y escriba {mail}
Haga clic en la propiedad SearchRoot y, a continuación, escriba ou=Employees,dc=globalbank,dc=com.
Nota
Si no ha configurado el entorno según las especificaciones de la sección "Requisitos previos", reemplace los valores de la propiedad anterior por los que sean adecuados para su entorno.
Haga clic en la propiedad Filter y, a continuación, cambie el valor a (&(objectClass=User)(|( givenName=john)))
Nota
Escriba el valor anterior para reemplazar el texto existente.
En la lista desplegable ThrowErrorIfNotFound , haga clic en True.
En el ventana Propiedades, haga clic en la propiedad Configuración del punto de conexión y, a continuación, haga clic en el botón de puntos suspensivos (...).
En el cuadro de diálogo Configuración del punto de conexión, haga clic en la propiedad EmailBodyText y, a continuación, escriba Order está listo para procesarse.
Haga clic en la propiedad From y orders@globalbank.comescriba .
Haga clic en la propiedad MessagePartsAttachment y escriba 2.
Haga clic en la propiedad Subject y escriba Order para {givenName}.
Configure las propiedades SMTPAuthentication, SMTPHost, UserName y Password mediante la información de conexión del entorno local.
Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración del punto de conexión .
Haga clic con el botón derecho en la resolución LdapResolver y, a continuación, haga clic en Probar configuración de resolución.
En la ventana Salida, compruebe que el asunto del valor de Configuración del punto de conexión resuelto es Order for John y, a continuación, compruebe que la ubicación de transporte resuelta es la dirección de correo electrónico asociada a la cuenta del usuario en Active Directory (por ejemplo, johne@globalbank.com).
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento del modelo ReceiveNAOrder al elemento de modelo RouteMessageEmail .
Desde el Cuadro de herramientas, arrastre un elemento modelo Off-Ramp a la superficie de diseño y colóquelo a la derecha del elemento de modelo RouteMessageEmail . En el ventana Propiedades OffRamp1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba EmailNAOrderDoc.
En la lista desplegable Extender , haga clic en Off-Ramp ESB Extender.
En la lista desplegable Aplicación de BizTalk , haga clic en GlobalBank.ESB.
En la lista desplegable Puerto de envío, haga clic en DynamicResolutionOneWay.
En el Cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño y colóquelo entre el elemento de modelo RouteMessageEmail y el elemento de modelo EmailNAOrderDoc . En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba SendPortFilter.
En la lista desplegable Extender del servicio de itinerarios , haga clic en Extensor de rampa desactivada.
En la lista desplegable Off-Ramp ,expanda EmailNAOrderDocy, a continuación, haga clic en Send Handlers (Enviar controladores).
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo RouteMessageEmail al elemento de modelo SendPortFilter .
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo SendPortFilter al elemento de modelo EmailNAOrderDoc .
Para exportar el modelo para su uso con el cliente de prueba de itinerarios
En Visual Studio, haga clic con el botón derecho en la superficie de diseño del itinerario LdapResolution y, a continuación, haga clic en Exportar modelo.
Nota
La versión XML del itinerario se abre en Visual Studio.
Guarde todos los artefactos del proyecto.
En el Explorador de Windows, vaya a C:\HowTos\Itinerarios y observe la creación del XML del itinerario (LdapResolution.xml).
Para probar el itinerario
Abra la aplicación de ejemplo Cliente de prueba de itinerarios mediante el acceso directo creado durante los requisitos previos para las actividades de desarrollo (C:\HowTos\ESB.Itinerary.Test.exe - Acceso directo).
En el cliente de prueba de itinerarios, desactive la casilla Usar servicio WCF y, a continuación, haga clic en Cargar itinerario.
En el cuadro de diálogo Abrir archivo de itinerario , vaya a C:\HowTos\Itinerarios. Seleccione LdapResolution.xmly haga clic en Abrir para cargar el itinerario.
Haga clic en Aceptar para borrar el mensaje Itinerario cargado correctamente .
En el cliente de prueba de itinerarios, haga clic en el botón de puntos suspensivos (...) situado junto al cuadro Cargar mensaje .
En el cuadro de diálogo Seleccionar documento XML para cargar , vaya a C:\HowTos. Seleccione NAOrderDoc.xmly haga clic en Abrir para cargar el mensaje de prueba.
Haga clic en el botón Enviar solicitud . Cuando finalice la prueba, haga clic en Aceptar para descartar la confirmación que aparece.
Abra Microsoft Outlook Express (o el cliente de correo que prefiera) y compruebe la entrega del mensaje al correo electrónico de John Evans.
Recursos adicionales
Para obtener más información, vea los siguientes temas relacionados: