Condividi tramite


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:

  1. BizTalk Server legge il messaggio dal file di input nella cartella del percorso di ricezione FFInput.

  2. Il messaggio viene trasmesso a una pipeline di ricezione XML.

  3. 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.

  4. 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

  1. In una finestra di comando passare alla seguente cartella:

    <>Percorsi di esempio\Pipelines\AssemblerDisassembler\FlatFileSend

  2. 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

  1. Inserire una copia del file FlatFileSend_in.xml nella cartella FFInput.

  2. 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