Condividi tramite


CustomComponent (esempio di BizTalk Server)

Nell'esempio CustomComponent viene illustrato come creare e utilizzare un componente della pipeline personalizzato in grado di modificare un messaggio inviato nel flusso. In questo esempio viene inoltre descritta la configurazione di un componente della pipeline personalizzato in Progettazione pipeline.

Scopo dell'esempio

Questo esempio implementa un componente della pipeline personalizzato che può prefissire o aggiungere stringhe al messaggio di input. BizTalk Server elabora il messaggio in modalità streaming, ovvero l'intero messaggio non viene mai caricato in memoria. Il componente della pipeline personalizzato viene illustrato in base alla sequenza di passaggi riportata di seguito:

  1. BizTalk recupera un messaggio di testo da un file presente in una cartella specifica.

  2. Il messaggio di testo viene inviato tramite una pipeline di ricezione contenente il componente personalizzato FixMsg. Il componente viene configurato per l'inserimento di una stringa all'inizio del messaggio.

  3. Il messaggio di testo risultante viene inviato tramite una pipeline di trasmissione con il componente personalizzato FixMsg. Il componente viene configurato per l'aggiunta di una stringa alla fine del messaggio.

  4. BizTalk Server scrive il messaggio di testo risultante in un file in una cartella specifica.

Percorso dell'esempio

<Percorso> esempi\Pipelines\CustomComponent\

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.
Input.txt File di input di esempio.
Setup.bat Utilizzato per compilare e inizializzare l'esempio.
Nella cartella \FixMsg:

AssemblyInfo.cs, FixMsg.csproj, FixMsg.sln
File di progetto, di soluzione e di informazioni sull'assembly per la parte dell'esempio relativa al componente della pipeline personalizzato.
Nella cartella \FixMsg:

FixMsg.cs
Implementa le interfacce del componente della pipeline.
Nella cartella \FixMsg:

FixMsgStream.cs
Implementa un wrapper per la classe System.IO.Stream , abilitando l'elaborazione del flusso di dati.
Nella cartella \FixMsg:

FixMsgDescription.cs
Fornisce metodi per accedere ed eseguire il rendering delle risorse dell'interfaccia utente del componente in Progettazione pipeline.
Nella cartella \FixMsg:

FixMsg.resx
Contiene descrizioni delle proprietà, un'icona e messaggi di errore.
Nella cartella \PipelineComponentSample:

PipelineComponentSample.btproj, PipelineComponentSample.sln
File di progetto e di soluzione per la parte dell'esempio relativa al progetto BizTalk.
Nella cartella \PipelineComponentSample:

PipelineComponentSampleBinding.xml
Utilizzato per l'impostazione automatica, ad esempio il binding delle porte.
Nella cartella \PipelineComponentSample:

FixMsgReceivePipeline.btp, FixMsgSendPipeline.btp
BizTalk Server pipeline contenenti rispettivamente il componente della pipeline personalizzata FixMsg, per la ricezione e le pipeline di invio.

Compilazione e inizializzazione dell'esempio

Per compilare e inizializzare l'esempio CustomComponent

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

    <Percorso> esempi\Pipelines\CustomComponent

  2. Eseguire il file Setup.bat. Verranno eseguite le operazioni seguenti:

    • Crea le cartelle di input (In) e output (Out) dell'esempio nella cartella:

      <Percorso> esempi\Pipelines\CustomComponent

    • Compila e distribuisce i progetti di 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 vengono visualizzati i seguenti avvisi:

      Warning: Receive handler not specified for receive location "PCReceiveLocation"; updating with first receive handler with matching transport type.

      Warning: Host not specified for orchestration "CustomComponent"; updating with first available host.

      È possibile ignorare tali 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 i progetti dell'esempio senza eseguire il file Setup.bat, è necessario creare prima una coppia di chiavi con nome sicuro utilizzando l'utilità Nome sicuro di .NET Framework (sn.exe). Utilizzare questa coppia di chiavi per firmare gli assembly risultanti.

Nota

Per annullare le modifiche apportate da Setup.bat, è innanzitutto necessario arrestare e riavviare l'istanza dell'host dallo snap-in MMC Amministrazione BizTalk Server, Eseguire quindi Cleanup.bat. È necessario eseguire Cleanup.bat prima di eseguire Setup.bat una seconda volta.

Esecuzione dell'esempio

Per eseguire l'esempio CustomComponent

  1. Incollare una copia del file di testo Input.txt nella cartella In.

  2. Osservare il file di testo creato nella cartella Out. Questo file contiene il contenuto del file Input.txt con testo aggiuntivo inserito all'inizio (dalla pipeline di ricezione) e alla fine (dalla pipeline di invio). Il formato del nome di questo file è <MessageID.xml, dove <MessageID>> è il GUID generato per identificare in modo univoco il messaggio.

Commenti

Per visualizzare le pipeline preconfigurate in Progettazione pipeline, è possibile attenersi alla seguente procedura:

  1. In Esplora soluzioni fare doppio clic su ReceivePipeline.btp per aprire la pipeline di ricezione in Progettazione pipeline. Si noti che il componente FixMsg viene inserito nella fase Convalida della pipeline di ricezione.

  2. Fare clic sul componente FixMsg nella fase Convalida nell'area di progettazione. Nella finestra Proprietà è possibile visualizzare le proprietà di configurazione del componente della pipeline. Si noti che la proprietà PrependData è impostata su Data su Data su prepend nella stringa di ricezione della pipeline.

  3. In Esplora soluzioni fare doppio clic su SendPipeline.btp per aprire la pipeline di trasmissione in Progettazione pipeline. Si noti che il componente FixMsg viene inserito nella fase Pre-Assembl della pipeline di invio.

  4. Fare clic sul componente FixMsg nella fase Pre-Assembly nell'area di progettazione. Si noti che la proprietà AppendData è impostata su Data per aggiungere nella stringa della pipeline di invio.

Vedere anche

Pipelines (cartella di esempi di BizTalk Server)