Condividi tramite


Procedura: Convalidare un messaggio usando un'applicazione On-Ramp ESB

Obiettivo

In questa sezione viene illustrato come configurare il componente della pipeline disassemble del dispatcher ESB per eseguire la convalida dei messaggi per i messaggi XML inviati a una distribuzione on-ramp ESB.

In questo argomento di procedura si completeranno i passaggi seguenti:

  • Creare una pipeline ESB on-ramp che usa la pipeline ItinerarySelectReceiveXml .

  • Configurare il componente della pipeline disassemble di ESB Dispatcher per convalidare il contenuto del messaggio.

  • Configurare il componente pipeline del selettore dell'itinerario per risolvere l'itinerario appropriato.

  • Testare la convalida dei messaggi usando un messaggio valido e un messaggio non valido.

Prerequisiti

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

Prima di iniziare

Completare le attività seguenti prima di eseguire i passaggi più avanti in questo argomento procedura:

  • Creare un messaggio di test non valido.

  • Creare un modello DSL (Domain Specific Language) dell'itinerario ESB.

  • Configurare le proprietà dell'itinerario.

  • Definire la struttura dell'itinerario.

  • Esportare il modello nel database dell'itinerario.

    Le procedure seguenti descrivono come eseguire ognuna di queste operazioni.

Per creare un messaggio di test non valido

  1. In Esplora risorse passare a C:\HowTos.

  2. Creare una copia di NAOrderDoc.xml e quindi rinominare la copia Invalid.xml.

  3. Nel Blocco note aprire Invalid.xml.

  4. Modificare <ns0:requestType>10</ns0:requestType> in <ns0:requestType>TEN</ns0:requestType>.

  5. Salvare Invalid.xml come UTF-8 e quindi chiudere blocco note.

    Nota

    Modificando il valore numerico di questo elemento in testo, il messaggio non sarà più valido in base allo schema.

Per creare un modello DSL di itinerariO ESB

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

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

  3. Nella finestra di dialogo Aggiungi nuovo elemento digitare Convalida 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 Validation.itinerary. Nella Finestra Proprietà Convalida configurare le proprietà seguenti:

    1. Nell'elenco a discesa Esportazione modelli fare clic su Esportazione itinerari di database.

    2. Fare clic sul pulsante con i puntini di sospensione (...) accanto alla proprietà Database itinerario .

    3. Nella finestra di dialogo Proprietà connessione scegliere il SQL Server che ospita il database del repository dell'itinerario e quindi specificare il nome del database ( il nome predefinito è EsbItineraryDb).

  2. Nell'elenco a discesa Stato itinerario fare clic su Distribuito.

    Nota

    Questo passaggio consente di esportare l'itinerario in un repository centrale; è possibile selezionare e allegare itinerari da questo repository al momento della ricezione del messaggio. Successivamente si configurerà il componente pipeline del selettore itinerari per usare un resolver statico per selezionare l'itinerario appropriato da questo repository.

Per definire la struttura dell'itinerario

  1. Dalla casella degli strumenti trascinare un elemento del modello On-Ramp nell'area di progettazione. Nel 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. Dalla Casella degli strumenti trascinare un elemento del modello Off-Ramp nell'area di progettazione e quindi posizionarlo a destra dell'elemento del modello esistente. Nel Finestra Proprietà OffRamp1 configurare le proprietà seguenti:

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

    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 Porta di trasmissione fare clic su DynamicResolutionOneWay.

  3. Dalla casella degli strumenti trascinare un elemento modello Del servizio itinerario nell'area di progettazione e quindi posizionarlo tra l'elemento del modello ReceiveNAOrder e l'elemento del modello SendNAOrder . Nel Finestra Proprietà ItineraryService1 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 SendNAOrder e quindi fare clic su Gestori di invio.

  4. Fare clic con il pulsante destro del mouse sull'insieme Resolver dell'elemento SendPortFilter e quindi scegliere Aggiungi nuovo sistema di risoluzione. Nella Finestra Proprietà Resolver1 configurare le proprietà seguenti:

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

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

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

    4. Fare clic sulla proprietà Percorso trasporto e quindi digitare C:\HowTos\Out\Validated%MessageID%.xml.

  5. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento del modello ReceiveNAOrder all'elemento del modello SendPortFilter .

  6. Nella casella degli strumenti fare clic su Connettore. Trascinare una connessione dall'elemento del modello SendPortFilter all'elemento del modello SendNAOrder .

Per esportare il modello nel database dell'itinerario

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

    Nota

    L'itinerario è stato esportato nel database dell'itinerario e può ora essere usato dal componente pipeline del selettore itinerario.

  2. Salvare tutti gli artefatti del progetto.

Passaggi

Per creare e configurare un'istanza di ESB su rampa

  1. Fare clic su Start sulla barra delle applicazioni, scegliere Tutti i programmi, BizTalk Server e quindi fare clic su BizTalk Server Amministrazione.

  2. Nella console di amministrazione di BizTalk Server espandere Gruppo BizTalk, applicazioni e quindi Microsoft.Practices.ESB.

  3. Fare clic con il pulsante destro del mouse su Percorsi di ricezione, scegliere Nuovo e quindi fare clic su Posizione di ricezione unidirezionale.

  4. Nella finestra di dialogo Seleziona porta di ricezione fare clic su OnRamp.Itinerary e quindi su OK.

  5. Nella finestra di dialogo Proprietà località di ricezione digitare OnRamp.Routey.HowTo nella casella Nome .

  6. Nell'elenco a discesa Tipo fare clic su FILE e quindi su Configura.

  7. Nella finestra di dialogo Proprietà trasporto FILE digitare C:\HowTos\DropFolder nella casella Ricezione cartella e quindi fare clic su OK.

Per configurare la fase di elaborazione per eseguire la convalida dei messaggi

  1. Nell'elenco a discesa Pipeline di ricezione della finestra di dialogo Proprietà località di ricezione fare clic su ItinerarioSelezionareReceiveXml e quindi fare clic sul pulsante con i puntini di sospensione (...).

  2. Utilizzare la finestra di dialogo Configura pipeline per configurare le proprietà del componente disassembler XML seguenti:

    1. Espandere l'applicazione GlobalBank.Esb e quindi fare clic su Schemi. Fare clic con il pulsante destro del mouse su GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc, quindi scegliere Proprietà. Copiare le proprietà Name e Assembly e incollarle in un file di testo.

    2. Nel componente Disassemble fare clic su True nell'elenco a discesa ValidateDocument .

    3. Fare clic sulla proprietà DocumentSpecNames e quindi digitare il nome completo dello schema. Il nome completo inizia con il nome e viene seguito da una virgola e dalle informazioni sull'assembly estratte nel passaggio a. Di seguito è riportato un esempio:

      GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc, GlobalBank.ESB.DynamicResolution.Schemas, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c2c8b2b87f54180a

      Nota

      Si tratta del nome completo dello schema da convalidare; è costituito dal nome dello schema e da quattro proprietà dell'assembly: nome dell'assembly, versione, impostazioni cultura e token di chiave pubblica. Sono consentiti più valori; separare più schemi con un simbolo barra verticale (|).

Per configurare il componente Pipeline del selettore itinerario

  1. Nella finestra di dialogo Configura pipeline configurare le proprietà del componente selettore itinerario seguenti:

    1. Fare clic sulla proprietà ItineraryFactKey e quindi digitare Resolver.Itinerary.

    2. Fare clic sulla proprietà ResolverConnectionString e quindi digitare ITINERARIO:\\name=Validation;.

    3. Fare clic su OK per chiudere la finestra di dialogo Configura pipeline .

  2. Fare clic su OK per chiudere la finestra di dialogo Proprietà posizione ricezione .

  3. Nella console di amministrazione di BizTalk Server fare clic con il pulsante destro del mouse sul percorso OnRamp.Itinerary.HowTo e quindi scegliere Abilita.

Per testare la convalida del messaggio e la selezione dell'itinerario

  1. In Esplora risorse passare a C:\HowTos.

  2. Copiare (non spostare) NAOrderDoc.xml nella cartella DropFolder.

  3. Passare a C:\HowTos\Out. Verificare che Validated%MessageID%.xml sia stato scritto nella directory.

    Nota

    Il messaggio valido ha completato il routing basato sull'itinerario, come previsto.

  4. Eliminare Validated%MessageID%.xml dalla cartella Out.

  5. In Esplora risorse passare a C:\HowTos.

  6. Copiare (non spostare) Invalid.xml nella cartella DropFolder.

  7. Passare a C:\HowTos\Out. Verificare che non sia stato recapitato alcun nuovo messaggio.

    Nota

    Impossibile convalidare il messaggio; pertanto, non è stato possibile completare il routing basato sull'itinerario.

  8. Fare clic su Start sulla barra delle applicazioni, scegliere Strumenti di amministrazione e quindi fare clic su Visualizzatore eventi.

  9. In Visualizzatore eventi espandere Log di Windows e quindi fare clic su Applicazione.

  10. Individuare un evento recente in cui l'origine è BizTalk Server e l'ID evento è 5719.

    Nota

    L'invio e l'errore del messaggio non valido hanno generato una voce di eccezione nel registro eventi dell'applicazione.

  11. Nella console di amministrazione di BizTalk Server fare clic con il pulsante destro del mouse sul percorso OnRamp.Itinerary.HowTo receive e quindi scegliere Disabilita.

  12. Dopo aver disabilitato il percorso di ricezione OnRamp.Itinerary.HowTo , fare clic con il pulsante destro del mouse su di esso e quindi scegliere Elimina. Nella finestra di dialogo Conferma ricezione eliminazione fare clic su .

Risorse aggiuntive

Per altre informazioni, vedere i seguenti argomenti correlati: