CBRSample (esempio di BizTalk Server)
Nell'esempio CBRSample viene illustrato come applicare filtri e una mappa in uscita per trasformare e instradare i messaggi di istanza in base al contenuto.
Scopo dell'esempio
In questo esempio viene illustrato il routing di un messaggio contenente un nome, un indirizzo e informazioni di contatto a una cartella tra le due disponibili in base al codice paese. In particolare, nell'esempio vengono eseguite le operazioni seguenti:
Viene definito un formato di messaggio di esempio contenente informazioni di base su una persona, ovvero l'identità con l'ID utente e il nome completo, l'indirizzo con il codice paese e i numeri telefonici di contatto.
Promuove la proprietà CountryCode nel documento di input in modo che possa essere usata in un filtro porta per controllare la trasformazione e il routing.
Trasforma il messaggio in una versione canadese quando CountryCode è uguale a 200 o una versione statunitense quando CountryCodeè uguale a 100. Entrambe le trasformazioni passano attraverso tutti i dati, ad eccezione del middle initial (Initial). La versione canadese esegue anche il mapping dello Stato a Provincia e ZipCode a PinCode.
I messaggi per gli Stati Uniti vengono instradati nella directory US e i messaggi per il Canada nella directory CAN.
Progettazione e finalità dell'esempio
La progettazione si basa sull'invio predefinito e sulla ricezione di pipeline XML, promozione delle proprietà, filtri di sottoscrizione e mappe in uscita all'interno di BizTalk Server per instradare i messaggi. Nella tabella seguente vengono elencati gli elementi di progettazione e la relativa giustificazione.
Elemento di progettazione | Motivi selezionati |
---|---|
Pipeline XML di ricezione predefinita | - La pipeline XMLReceive supporta la promozione delle proprietà; la pipeline PassThruReceive non è. - Il messaggio in ingresso è già in formato XML e non richiede l'elaborazione oltre alla risoluzione di base del disassembly e delle parti. |
Promozione delle proprietà | - BizTalk Serverdepends sui campi delle proprietà per eseguire il routing. I campi differenzianti sono utilizzati dalle orchestrazioni e non possono essere utilizzati per il routing. |
Filtro della sottoscrizione | - Il filtro della sottoscrizione esegue il routing effettivo acquisiscendo i messaggi che soddisfano uno o più criteri in base ai campi delle proprietà. |
Mappa in uscita | - Esegue il mapping dei dati di trasformazione da un formato a un altro. L'esempio esegue il mapping di un messaggio in ingresso a un formato statunitense o canadese. |
XMLTransmit | - Esegue l'assembly di base dei messaggi XML in uscita; la pipeline PassThruTransmit non offre alcun supporto aggiuntivo. |
Questo modello di base può essere esteso e utilizzato per scenari più complessi.
Percorso dell'esempio
Questo esempio si trova in <Samples Path>
\Messaging\CBRSample\.
Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.
File | Descrizione |
---|---|
CBRDataCAN.Xml, CBRDataUS.Xml | File di input di esempio conforme allo schema definito nel file CBRInputSchema.xsd. |
CBRInput2CANMap.btm, CBRInput2USMap.btm | Esegue il mapping dei file per le trasformazioni per il Canada e gli Stati Uniti, rispettivamente. |
CBRInputSchema.xsd, CBROutputSchemaCAN.xsd, CBROutputSchemaUS.xsd | File di schema per il formato di input, il formato di output canadese e il formato di output statunitense, rispettivamente. |
CBRPromotedPropertySchema.xsd | File di schema per la proprietà promossa che corrisponde all'elemento CountryCode nei file di input XML. |
CBRSample.btproj, CBRSample.sln | File di progetto e di soluzione di BizTalk per questo esempio. |
Cleanup.bat | Viene utilizzato per annullare la distribuzione degli assembly e rimuoverli dalla Global Assembly Cache. Consente inoltre di rimuovere porte di trasmissione e ricezione. Rimuove le directory virtuali di Internet Information Services (IIS), se necessario. |
Setup.bat | Utilizzato per compilare e inizializzare l'esempio. |
Modalità di utilizzo dell'esempio
Utilizzare l'esempio come esempio operativo delle operazioni richieste per eseguire il routing di un messaggio in base al contenuto.
Compilazione e inizializzazione dell'esempio
Per compilare e inizializzare l'esempio CBRSample, è necessario compilare e distribuire il progetto BizTalk corrispondente e configurare la porta e l'indirizzo di ricezione, nonché due porte di trasmissione diverse.
Per compilare e distribuire il progetto BizTalk per l'esempio
In una finestra di comando passare alla seguente cartella:
<Samples Path>
\Messaging\CBRSampleEseguire Setup.bat, che esegue le azioni seguenti:
Crea le cartelle di input (In) e output (US e CAN) per questo esempio.
Compila e distribuisce il progetto di Microsoft Visual Studio per questo esempio.
Creazione e binding dell'indirizzo di ricezione di BizTalk e delle porte di trasmissione e ricezione.
Nota
Nell'esempio, durante la creazione e il binding delle porte, viene visualizzato il seguente avviso:
Avviso: gestore di ricezione non specificato per la posizione di ricezione "CBRReceiveLocation"; aggiornamento con il primo gestore di ricezione con tipo di trasporto corrispondente.
È possibile ignorare questo avviso. Per ovviare a possibili differenze di denominazione nelle installazioni utente, il nome host e il gestore di ricezione sono stati omessi dal file di associazione.
Nota
Prima di provare a eseguire l'esempio, è necessario verificare che BizTalk Server non abbia segnalato errori durante il processo di generazione e inizializzazione.
Nota
Se si sceglie di aprire e compilare il progetto dell'esempio senza eseguire il file Setup.bat, è necessario creare innanzitutto una coppia di chiavi con nome sicuro tramite l'utilità Nome sicuro di .NET Framework (sn.exe) Utilizzare questa coppia di chiavi per firmare l'assembly risultante.
Nota
Per annullare le modifiche apportate da Setup.bat, eseguire Cleanup.bat. È necessario eseguire Cleanup.bat prima di eseguire Setup.bat una seconda volta.
Per preparare la configurazione della porta e dell'indirizzo di ricezione e delle porte di trasmissione
In Microsoft SQL Management Studio selezionare il database di gestione BizTalk corretto.
Nota
Il database di gestione BizTalk viene anche chiamato database di configurazione BizTalk.
Per configurare, integrare e avviare la porta di trasmissione per gli Stati Uniti
Nella console di amministrazione BizTalk Server espandere Invia porte, fare clic con il pulsante destro del mouse su CBRUSSendPort e quindi scegliere Modifica.
Nella finestra di dialogo Proprietà porta statica One-Way, nell'albero delle cartelle a sinistra della finestra di dialogo selezionare Filtri & Mapping | Filtri e quindi aggiungere una nuova riga impostando Proprietà su CBRSample.CountryCode, lasciando la colonna Operator impostata su e impostando la colonna Value su ==100.
Nell'albero delle cartelle a sinistra della finestra di dialogo selezionare Filtri & Mapping | Mappe in uscita, impostare La mappa per applicare la proprietà a CBRSample.CBRInput2USMap e quindi fare clic su OK. Potrebbe essere necessario fare clic sul pulsante di scorrimento per visualizzare la mappa.
Per configurare, integrare e avviare la porta di trasmissione per il Canada
Nella console di amministrazione BizTalk Server espandere Invia porte, fare clic con il pulsante destro del mouse su CBRCANSendPort e quindi scegliere Modifica.
Nella finestra di dialogo Proprietà porta statica One-Way, nell'albero delle cartelle a sinistra della finestra di dialogo selezionare Filtri & Mapping | Filtri e quindi aggiungere una nuova riga impostando Proprietà su CBRSample.CountryCode, lasciando la colonna Operator impostata su e impostando la colonna Value su ==200.
Nell'albero delle cartelle a sinistra della finestra di dialogo selezionare Filtri & Mapping | Mappe in uscita, impostare La mappa per applicare la proprietà a CBRSample.CBRInput2CANMap e quindi fare clic su OK.
Questi passaggi consentono di connettere la porta di trasmissione alla porta di ricezione. Nell'esempio vengono utilizzate proprietà alzate di livello per eseguire il routing dei documenti.
A questo punto BizTalk Server è pronto per l'utilizzo dell'esempio.
Esecuzione dell'esempio
Per eseguire l'esempio CBRSample, attenersi alla procedura riportata di seguito.
Per eseguire questo esempio
Copiare i file di input, CBRDataCAN.xml e CBRDataUS.xml, nella cartella di input seguente:
<Samples Path>
\Messaging\CBRSample\InOsservare come ognuno di questi file viene trasformato e instradato a una delle due cartelle di output seguenti in base al valore dell'elemento CountryCode (100 rispetto a 200):
BizTalk Server trasformazioni e instrada il file di input CBRDataCAN.xml alla cartella:
<Samples Path>
\Messaging\CBRSample\CANBizTalk Server trasformazioni e instrada il file di input CBRDataUS.xml alla cartella:
<Samples Path>
\Messaging\CBRSample\US
Classi o metodi utilizzati nell'esempio
No.
Vedere anche
Pipeline predefinite
Come configurare le mappe in uscita per una porta di trasmissione
Messaging (cartella di esempi di BizTalk Server)