Condividi tramite


Procedura: Creare un itinerario per instradare in modo dinamico un messaggio a un indirizzo e-mail usando una query LDAP

Obiettivo

Questa sezione illustra come creare un itinerario che esegue una query su un indirizzo di posta elettronica tramite LDAP (Lightweight Directory Access Protocol) e quindi invia un messaggio di posta elettronica all'endpoint risolto usando l'adattatore SMTP BizTalk Server.

In questo argomento procedura si completeranno i passaggi seguenti:

  • Creare una lista di routing di itinerari per instradare dinamicamente un messaggio usando una query LDAP.

  • Testare l'itinerario usando l'applicazione di esempio client di test di itinerario.

Prerequisiti

Le procedure descritte in questo argomento richiedono il completamento dei prerequisiti per le attività di sviluppo.

Il computer in cui si completerà questa sezione deve avere il servizio directory di Microsoft Active Directory configurato ed in esecuzione (non è necessario che il computer sia il controller di dominio, ma deve essere connesso al dominio). Inoltre, un server SMTP deve essere configurato ed in esecuzione; per testare il risultato di questo argomento su come, è necessario disporre di un client con cui controllare il messaggio di posta elettronica inviato dal ESB.

Le istruzioni in questa sezione presuppongono un'organizzazione denominata Global Bank, con un dominio di globalbank.com, con un'unità organizzativa di Active Directory denominata Dipendenti che contiene un utente denominato John Evans con un indirizzo di posta elettronica valido nel proprio profilo (ad esempio johne@globalbank.com). Non è necessario replicare questi fattori ambientali; tuttavia, ai fini della ricreazione di questa implementazione nell'ambiente, tenere conto di questi fattori e apportare sostituzioni in base alle esigenze.

Passaggi

Per creare un modello di linguaggio specifico del dominio (DSL)

  1. In Visual Studio aprire C:\HowTos\Patterns\Patterns.sln.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItinerarioLibrary, scegliere Aggiungi e quindi fare clic su Nuovo itinerario.

  3. Nella finestra di dialogo Aggiungi nuovo elemento digitare LdapResolution nella casella Nome e quindi fare clic su Aggiungi.

Per configurare le proprietà dell'itinerario

  1. In Visual Studio fare clic sull'area di progettazione di LdapResolution.itinerario. Nella Finestra Proprietà LdapResolution configurare le proprietà seguenti:

    1. Nell'elenco a discesa Esportazione modello fare clic su Esportazione itinerari XML.

    2. Nella sezione Impostazioni estensione accanto alla proprietà file XML Itinerario fare clic sul pulsante con i puntini di sospensione (...).

    3. Nella finestra di dialogo Seleziona file XML digitare C:\HowTos\Itineraries\LdapResolution nella casella Nome file e quindi fare clic su Salva.

      Nota

      Questo passaggio consente di esportare l'itinerario come XML in un percorso di file locale. Esportando un itinerario in un percorso di file locale anziché nel database di itinerario, consente di testare l'itinerario usando l'applicazione Client di test ESB. Questo processo verrà completato più avanti in questo argomento procedura.

Per definire la struttura dell'itinerario

  1. Dalla casella degli strumenti trascinare un elemento modello On-Ramp nell'area di progettazione. Nell'Finestra Proprietà OnRamp1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare ReceiveNAOrder.

    2. Nell'elenco a discesa Extender fare clic su On-Ramp ESB Extender.

    3. Nell'elenco a discesa Applicazione BizTalk fare clic su Microsoft.Practices.ESB.

    4. Nell'elenco a discesa Porta di ricezione fare clic su OnRamp.Itinerario.

  2. Nella casella degli strumenti trascinare un elemento modello del servizio itinerario nell'area di progettazione e quindi inserirlo a destra dell'elemento modello On-Ramp . Nell'Finestra Proprietà ItinerarioService1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare RouteMessageEmail.

    2. Nell'elenco a discesa Estensione servizio itinerario fare clic su Estensione messaggistica.

      Nota

      Questa proprietà definisce che il processo verrà eseguito in una pipeline (messaggistica). In alternativa, se il processo verrà eseguito in un'orchestrazione, impostare la proprietà Extender del servizio itinerario su Orchestration Extender.

    3. Nell'elenco a discesa Contenitore espandere ReceiveNAOrder e quindi fare clic su Gestori di ricezione.

    4. Nell'elenco a discesa Nome servizio fare clic su Microsoft.Practices.ESB.Services.Routing.

  3. Fare clic con il pulsante destro del mouse sull'insieme Resolver dell'elemento modello RouteMessageEmail e quindi scegliere Aggiungi nuovo resolver. Nella Finestra Proprietà Resolver1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare LdapResolver.

    2. Nell'elenco a discesa Implementazione resolver fare clic su Estensione resolver LDAP.

    3. Nell'elenco a discesa Nome trasporto fare clic su SMTP.

    4. Fare clic sulla proprietà Percorso trasporto e quindi digitare {mail}

    5. Fare clic sulla proprietà SearchRoot e quindi digitare ou=Employees,dc=globalbank,dc=com

      Nota

      Se l'ambiente non è stato configurato in base alle specifiche nella sezione "Prerequisiti", sostituire i valori nella proprietà precedente con quelli appropriati per l'ambiente.

    6. Fare clic sulla proprietà Filter e quindi modificare il valore su (&(objectClass=User)(|( givenName=john)))

      Nota

      Digitare il valore precedente per sostituire il testo esistente.

    7. Nell'elenco a discesa ThrowErrorIfNotFound fare clic su True.

  4. Nella Finestra Proprietà fare clic sulla proprietà Configurazione endpoint e quindi fare clic sul pulsante con i puntini di sospensione (...).

    1. Nella finestra di dialogo Configurazione endpoint fare clic sulla proprietà EmailBodyText e quindi digitare Order è pronto per l'elaborazione.

    2. Fare clic sulla proprietà From e quindi digitare orders@globalbank.com.

    3. Fare clic sulla proprietà MessagePartsAttachment e quindi digitare 2.

    4. Fare clic sulla proprietà Subject e quindi digitare Order per {givenName}.

    5. Configurare le proprietà SMTPAuthentication, SMTPHost, UserName e Password usando le informazioni di connessione per l'ambiente locale.

    6. Fare clic su OK per chiudere la finestra di dialogo Configurazione endpoint .

  5. Fare clic con il pulsante destro del mouse sul resolver LdapResolver e quindi scegliere Configurazione del sistema di risoluzione dei test.

  6. Nella finestra Output verificare che l'oggetto nel valore di Configurazione dell'endpoint risolto sia Order for John e quindi verificare che il percorso di trasporto risolto sia l'indirizzo di posta elettronica associato all'account dell'utente in Active Directory (ad esempio). johne@globalbank.com

  7. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello ReceiveNAOrder all'elemento modello RouteMessageEmail .

  8. Dalla casella degli strumenti trascinare un elemento modello Off-Ramp nell'area di progettazione e quindi inserirlo a destra dell'elemento modello RouteMessageEmail . Nell'Finestra Proprietà OffRamp1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare EmailNAOrderDoc.

    2. Nell'elenco a discesa Extender fare clic su Off-Ramp ESB Extender.

    3. Nell'elenco a discesa Applicazione BizTalk fare clic su GlobalBank.ESB.

    4. Nell'elenco a discesa Invia porta fare clic su DynamicResolutionOneWay.

  9. Dalla casella degli strumenti trascinare un elemento modello del servizio Itinerario nell'area di progettazione e quindi inserirlo tra l'elemento modello RouteMessageEmail e l'elemento modello EmailNAOrderDoc . Nell'Finestra Proprietà ItinerarioService1 configurare le proprietà seguenti:

    1. Fare clic sulla proprietà Name e quindi digitare SendPortFilter.

    2. Nell'elenco a discesa Estensione servizio itinerario fare clic su Off-Ramp Extender.

    3. Nell'elenco a discesa Off-Ramp espandere EmailNAOrderDoc e quindi fare clic su Invia gestori.

  10. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello RouteMessageEmail all'elemento modello SendPortFilter .

  11. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento modello SendPortFilter all'elemento modello EmailNAOrderDoc .

Per esportare il modello da usare con il client di test di itinerario

  1. In Visual Studio fare clic con il pulsante destro del mouse sull'area di progettazione dell'itinerario LdapResolution e quindi scegliere Esporta modello.

    Nota

    Viene visualizzata la versione XML dell'itinerario in Visual Studio.

  2. Salvare tutti gli artefatti del progetto.

  3. In Esplora risorse passare a C:\HowTos\Itinerari e notare la creazione del codice XML dell'itinerario (LdapResolution.xml).

Per testare l'itinerario

  1. Aprire l'applicazione di esempio client di test di itinerario usando il collegamento creato durante i prerequisiti per le attività di sviluppo (C:\HowTos\ESB.Itinerary.Test.exe - Collegamento).

  2. Nel client di test itinerari deselezionare la casella di controllo Usa servizio WCF e quindi fare clic su Carica itinerario.

  3. Nella finestra di dialogo Apri file itinerario passare a C:\HowTos\Itinerari. Selezionare LdapResolution.xmle quindi fare clic su Apri per caricare l'itinerario.

  4. Fare clic su OK per cancellare il messaggio Itinerario caricato correttamente .

  5. Nel client test itinerari fare clic sul pulsante con i puntini di sospensione (...) accanto alla casella Carica messaggio .

  6. Nella finestra di dialogo Seleziona documento XML da caricare passare a C:\HowTos. Selezionare NAOrderDoc.xmle quindi fare clic su Apri per caricare il messaggio di test.

  7. Fare clic sul pulsante Invia richiesta . Al termine del test, fare clic su OK per ignorare la conferma visualizzata.

  8. Aprire Microsoft Outlook Express (o il client di posta elettronica preferito) e verificare il recapito del messaggio al messaggio di Posta elettronica di John Evans.

Risorse aggiuntive

Per altre informazioni, vedere i seguenti argomenti correlati: