Condividi tramite


Passaggio 1: Modificare il progetto BizTalk vPrev usando l'adapter SQL

Passaggio 1 di 3

Tempo di completamento: 10 minuti

Obiettivo: In questo passaggio si apportano le modifiche seguenti al progetto BizTalk vPrev esistente:

  • Generare metadati per l'operazione Di inserimento nella tabella Customer usando l'adapter SQL basato su WCF.

  • Eseguire il mapping del messaggio di richiesta per eseguire un'operazione di inserimento usando l'adapter SQL vPrev a un messaggio di richiesta per eseguire un'operazione di inserimento tramite l'adapter SQL basato su WCF.

  • Eseguire il mapping del messaggio di risposta ricevuto usando l'adapter SQL basato su WCF al messaggio di risposta ricevuto tramite l'adapter SQL vPrev.

Prerequisiti

È necessario disporre di un progetto BizTalk vPrev per eseguire un'operazione di inserimento nella tabella Customer nel database SQL Server.

Per modificare il progetto BizTalk vPrev

  1. Generare metadati per l'operazione Di inserimento nella tabella Customer usando l'adapter SQL basato su WCF. Per generare i metadati, è possibile usare il componente aggiuntivo Consume Adapter Service BizTalk Project.

    Per istruzioni su come generare metadati, vedere Ottenere metadati per SQL Server operazioni in Visual Studio usando l'adapter SQL. Dopo la generazione dello schema, al progetto BizTalk viene aggiunto un file con il nome simile a TableOperation.dbo.Customer.xsd . Questo file contiene lo schema per l'invio di un messaggio per eseguire un'operazione di inserimento nella tabella Customer nel database SQL Server tramite l'adapter SQL basato su WCF.

  2. La generazione dei metadati per l'operazione di inserimento crea anche un file di associazione di porte. Nel passaggio successivo questo file di associazione verrà usato per creare una porta di trasmissione WCF-Custom per inviare messaggi al database SQL Server. L'azione SOAP per l'operazione viene impostata anche sull'operazione per cui sono stati generati i metadati. Ad esempio, se si generano metadati per l'operazione Inserisci, il nome dell'operazione nell'azione SOAP sulla porta di trasmissione sarà "Insert". Tuttavia, il nome dell'operazione sulla porta di trasmissione logica creata come parte dell'orchestrazione potrebbe essere diverso, ad esempio "Operation_1". Di conseguenza, quando si inviano messaggi al database SQL Server usando la porta di trasmissione, viene visualizzato un errore. Per evitare questo problema, assicurarsi che il nome dell'operazione sulla porta di trasmissione logica nell'orchestrazione corrisponda al nome dell'operazione per cui sono stati generati i metadati.

    Pertanto, in caso di questa esercitazione, poiché si generano metadati per l'operazione Di inserimento, modificare il nome dell'operazione di porta di trasmissione logica in "Inserisci".

  3. Per il messaggio di richiesta, eseguire il mapping dello schema generato usando l'adattatore di database SQL vPrev allo schema generato usando l'adapter SQL basato su WCF.

    1. Aggiungere un BizTalk Mapper al progetto BizTalk. Fare clic con il pulsante destro del mouse sul progetto BizTalk, scegliere Aggiungi e quindi fare clic su Nuovo elemento.

      Nel riquadro sinistro della finestra di dialogo Aggiungi nuovo elemento selezionare File mappa. Nel riquadro destro selezionare Mappa. Specificare un nome per la mappa, ad esempio RequestMap.btm. Fare clic su Aggiungi.

    2. Nel riquadro Schema di origine fare clic su Schema open source.

    3. Nella finestra di dialogo Selezione tipi BizTalk espandere il nome del progetto, espandere Schemi e quindi selezionare lo schema per il messaggio di richiesta per l'adapter SQL vPrev. Per questa esercitazione selezionare New_Migration.InsertCustomerService e quindi fare clic su OK.

    4. Nella finestra di dialogo Nodo radice per schema di origine selezionare Inserisci e quindi fare clic su OK.

    5. Nel riquadro Schema di destinazione fare clic su Apri schema di destinazione.

    6. Nella finestra di dialogo Selezione tipi BizTalk espandere il nome del progetto, espandere Schemi e quindi selezionare lo schema per il messaggio di richiesta per l'adapter SQL basato su WCF. Per questa esercitazione selezionare New_Migration.TableOperation.dbo.Customer e quindi fare clic su OK.

    7. Nella finestra di dialogo Radice nodo per schema di destinazione selezionare Inserisci e quindi fare clic su OK.

    8. Eseguire il mapping dei rispettivi elementi in entrambi gli schemi, come illustrato nella figura seguente.

      Eseguire il mapping degli schemi della richiesta

    9. Salvare il mapping.

  4. Per il messaggio di risposta, eseguire il mapping dello schema generato usando la scheda SQL vPrev allo schema generato usando l'adapter SQL basato su WCF.

    1. Aggiungere un BizTalk Mapper al progetto BizTalk. Fare clic con il pulsante destro del mouse sul progetto BizTalk, scegliere Aggiungi e fare clic su Nuovo elemento.

      Nel riquadro sinistro della finestra di dialogo Aggiungi nuovo elemento selezionare File mappa. Nel riquadro destro selezionare Mappa. Specificare un nome per la mappa, ad esempio ResponseMap.btm, quindi fare clic su Aggiungi.

    2. Nel riquadro Schema di origine fare clic su Schema open source.

    3. Nella finestra di dialogo Selezione tipi BizTalk espandere il nome del progetto, espandere Schemi e quindi selezionare lo schema per il messaggio di risposta per l'adapter SQL basato su WCF. Per questa esercitazione selezionare New_Migration.TableOperation.dbo.Customer e quindi fare clic su OK.

    4. Nella finestra di dialogo Nodo radice per schema di origine selezionare InsertResponse e quindi fare clic su OK.

    5. Nel riquadro Schema di destinazione fare clic su Apri schema di destinazione.

    6. Nella finestra di dialogo Selezione tipi BizTalk espandere il nome del progetto, espandere Schemi e quindi selezionare lo schema per il messaggio di risposta per l'adapter SQL vPrev. Per questa esercitazione selezionare New_Migration.InsertCustomerService e quindi fare clic su OK.

    7. Nella finestra di dialogo Nodo radice per schema di destinazione selezionare InsertResponse e quindi fare clic su OK.

    8. Si noteranno alcune differenze tra gli schemi di risposta per generati dalle due schede. Queste differenze possono essere spiegate come segue:

      • Usando l'adattatore SQL basato su WCF, se si inserisce un record in una tabella contenente una chiave primaria (ed è anche un campo Identity), la risposta per l'operazione Di inserimento restituisce il valore per il campo Identity per la riga inserita. Lo schema per il messaggio di risposta conforme all'adapter SQL basato su WCF contiene quindi un elemento InsertResult aggiuntivo. Questo elemento contiene una matrice, che a sua volta contiene i campi Identity per le righe inserite.

      • Usando l'adapter SQL vPrev, se si inserisce un record in una tabella, l'adapter restituisce solo un elemento "Success" vuoto come parte del messaggio di risposta.

        Gli schemi vengono quindi mappati in modo che la risposta dell'adapter SQL basato su WCF contenente il valore per i campi identity venga "copiata" come parte dell'elemento "Success", che fa parte del messaggio di risposta dalla scheda SQL vPrev. È possibile usare il functoid Copia di massa per copiare elementi da uno schema a un altro.

        Per usare il functoid Copia di massa, dalla Casella degli strumenti trascinare il functoid Copia di massa e rilasciarlo nella griglia Mapper. Connettere l'elemento InsertResult nello schema di origine al functoid. Analogamente, connettere l'elemento Success nello schema di destinazione al functoid. Nella figura seguente viene illustrato il mapping dei due elementi tramite il functoid .

        Eseguire il mapping degli schemi di risposta

      Nota

      Per altre informazioni sul functoid Copia di massa, vedere Functoid Copia di massa.

    9. Salvare il mapping.

  5. Salvare e compilare la soluzione BizTalk. Fare clic con il pulsante destro del mouse sulla soluzione e quindi scegliere Compila soluzione.

  6. Distribuzione della soluzione. Fare clic con il pulsante destro del mouse sulla soluzione e quindi scegliere Distribuisci soluzione.

Passaggi successivi

Creare una porta di trasmissione personalizzata WCF e configurarla per l'uso delle mappe create in questo passaggio, come descritto nel passaggio 2: Configurare l'orchestrazione in BizTalk Server Console di amministrazione usando l'adattatore SQL.

Vedere anche

Esercitazione 1: Eseguire la migrazione di progetti BizTalk all'adapter SQL