FlatFileSend (esempio di BizTalk Server)
L'esempio FlatFileSend illustra come è possibile usare BizTalk Server per elaborare un file XML nel file flat equivalente.
Scopo dell'esempio
In questo esempio la cartella FFInput viene configurata come indirizzo di ricezione. Quando si inserisce un file, ad esempio il file di esempio FlatFileSend_in.xml, in questa cartella, BizTalk Server elabora il messaggio in questo file usando la procedura seguente:
BizTalk Server legge il messaggio dal file di input nella cartella del percorso di ricezione FFInput.
Il messaggio viene trasmesso a una pipeline di ricezione XML.
Nel database MessageBox il messaggio viene instradato a una porta di trasmissione FILE che dispone di una pipeline di trasmissione configurata con un componente Assembler file flat. Tale componente converte il messaggio XML in una rappresentazione file flat equivalente mediante uno schema di file flat.
BizTalk Server scrive il messaggio convertito in un file di testo nella cartella dell'adapter di invio FFOutput.
Progettazione e finalità dell'esempio
Il messaggio di esempio illustra la maggior parte degli elementi di progettazione di base di questo esempio. I messaggi del file flat devono essere assemblati mediante l'Assembler file flat e uno schema di file flat in una pipeline di trasmissione personalizzata. Nella tabella seguente vengono riepilogati questi ed altri elementi di progettazione.
Elemento di progettazione | Motivi selezionati |
---|---|
Pipeline di trasmissione personalizzata | - La pipeline personalizzata usa l'assembler file flat e uno schema di file flat per convertire i messaggi di istanza in formato file flat; l'assembler file flat non è una pipeline e non può essere usata durante la configurazione di una pipeline di invio nella console di gestione di BizTalk Server. |
Schema del file flat | - Definire tutte le stesse caratteristiche di record e campo (inclusa la struttura) di uno schema XML e fornisce un meccanismo per definire tutte le caratteristiche del file flat necessarie per tradurre un messaggio di istanza XML in un messaggio di file flat (o viceversa). |
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à. |
XMLReceive | - Esegue l'elaborazione di messaggi XML in ingresso. Per questo esempio viene utilizzata una rappresentazione XML di un ordine di acquisto come messaggio di origine. |
Questi elementi vengono combinati per produrre una soluzione che accetta i messaggi di ordini di acquisto in formato XML dall'indirizzo di ricezione e scrive un ordine di acquisto in formato di file flat all'indirizzo di trasmissione.
Percorso dell'esempio
<>Percorsi di esempio\Pipelines\AssemblerDisassembler\FlatFileSend
Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.
File | Descrizione |
---|---|
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. Consente infine di rimuovere le directory virtuali di Microsoft Internet Information Services (IIS), se necessario. |
FlatFileSend.btproj, FlatFileSend.sln | File di progetto e soluzione per l'esempio. |
FlatFileSendBinding.xml | Utilizzato per l'impostazione automatica, ad esempio il binding delle porte. |
FlatFileSend_in.xml | File di input di esempio. |
PO.xsd | Schema per il file flat in uscita. |
SendPipeline.btp | BizTalk Server inviare il file della pipeline con il componente Assembler file flat. |
Setup.bat | Utilizzato per compilare e inizializzare l'esempio. |
Modalità di utilizzo dell'esempio
Utilizzare l'esempio come base per la propria soluzione di elaborazione dei file flat. È possibile estendere molti degli elementi di progettazione utilizzati in questo esempio in base alle proprie esigenze.
Compilazione e inizializzazione dell'esempio
In una finestra di comando passare alla seguente cartella:
<>Percorsi di esempio\Pipelines\AssemblerDisassembler\FlatFileSend
Eseguire il file Setup.bat. Verranno eseguite le operazioni seguenti:
Creazione delle cartelle di input (FFInput) e output (FFOutput) per l'esempio nella cartella:
<>Percorsi di esempio\Pipelines\AssemblerDisassembler\FlatFileSend
Compila il progetto di Visual Studio per questo esempio.
Creazione e binding dell'indirizzo di ricezione di BizTalk e delle porte di trasmissione e ricezione.
Nota
Questo esempio visualizza gli avvisi seguenti durante la creazione e l'associazione delle porte:
Warning: Receive handler not specified for receive location "FlatFileSend_RL"; updating with first receive handler with matching transport type. Warning: Host not specified for orchestration "FlatFileSend"; updating with first available host.
è possibile ignorare in modo sicuro questi avvisi. 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.Abilita l'indirizzo di ricezione e avvia la porta di trasmissione.
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.
Esecuzione dell'esempio
Inserire una copia del file FlatFileSend_in.xml nella cartella FFInput.
Osservare il file di testo creato nella cartella FFOutput. Il nome di questo file è basato sul GUID dell'ID del messaggio. Il file contiene l'equivalente in formato file flat del file XML di input FlatFileSend_in.xml.
Classi o metodi utilizzati nell'esempio
Gli script di configurazione Setup.bat e Cleanup.bat si basano sui seguenti script di amministrazione di Strumentazione gestione Windows (WMI):
Start Send Port\StartSendPort.vbs
Enable Receive Location\EnableRecLoc
Remove Send Port\RemoveSendPort
Nei file batch di pulitura e installazione viene utilizzato BTSTask come descritto di seguito:
BTSTask ImportBindings per applicare il file di associazione e creare l'applicazione, le porte e le associazioni
BTSTask RemoveApp per rimuovere FlatFileSendApplication
Vedere anche
- Schemi di file flat
- Pipeline predefinite
- Pipelines-AssemblerDisassembler (cartella di esempi di BizTalk Server)
- Esempi di script WMI nella guida per l'interfaccia utente e informazioni di riferimento sullo spazio dei nomi delle API per sviluppatori
- Informazioni di riferimento sulla riga di comando BTSTask
- FlatFileReceive (esempio di BizTalk Server)