Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'esempio Extending Mapper illustra come usare ed estendere BizTalk Mapper. L'esempio include diversi file di mapping di BizTalk Server (con estensione btm), ognuno dei quali illustra diverse funzionalità di BizTalk Mapper.
Che cosa fa questo esempio
L'esempio Extending Mapper usa il routing basato sul contenuto (CBR) e non usa un'orchestrazione. Specificando un filtro sulla porta di invio di esempio, essa è collegata direttamente alla porta di ricezione di esempio. Viene specificata una mappa sulla porta di trasmissione da applicare al documento elaborato.
Dove trovare questo esempio
<Samples Path>\XmlTools\ExtendingMapper
La tabella seguente illustra i file in questo esempio e ne descrive lo scopo.
| File | Descrizione |
|---|---|
| MapperClassLibrary\AssemblyInfo.cs, MapperClassLibrary\MapperClassLibrary.csproj, MapperClassLibrary\MapperHelper.cs, MapperClassLibrary\MapperClassLibrary.sln | File di progetto di Microsoft® Visual Studio® e file di origine di Visual C#®. |
| Cleanup.bat | Usato per annullare la distribuzione degli assembly e rimuoverli dalla Global Assembly Cache (GAC). |
| Destination.xsd | File di schema. |
| ExtendingMapper.btproj, ExtendingMapper.sln | File di progetto e soluzione BizTalk per questo esempio. |
| ExtendingMapper.xml | XML di origine. |
| ExtendingMapperBinding.xml | Collegamento XML. |
| ExternalAssembly.xml | XML dell'assembly esterno. |
| OverridingMapXslt.btm | File di mapping. |
| OverridingMapXslt.xml | Sovrascrittura del file XML della mappa. |
| OverridingMapXslt.xslt | Sostituzione del foglio di stile della mappa. |
| Scriptor_CallExternalAssembly.btm | File di mappa di esempio. |
| Scriptor_GlobalVariableInInlineScript.btm | File di mappa di esempio. |
| Scriptor_InlineScripts.btm | File di mappa di esempio. |
| Scriptor_InlineXslt.btm | File di mappa di esempio. |
| Scriptor_InlineXsltCallingExternalAssembly.btm | File di mappa di esempio. |
| Scriptor_XsltCalltemplate.btm | File di mappa di esempio. |
| Setup.bat | Usato per compilare e inizializzare l'esempio. |
| Source.xsd | File di schema. |
Compilazione e inizializzazione di questo esempio
Utilizzare la procedura seguente per compilare e inizializzare l'esempio Extending Mapper.
Per compilare e inizializzare questo esempio
In una finestra di comando modificare la directory (cd) nella cartella seguente:
<Samples Path>\XmlTools\ExtendingMapper
Eseguire il file Setup.bat, che esegue le azioni seguenti:
Crea le cartelle di input (\In) e output (\Out) per questo esempio.
Compila e distribuisce il progetto di Visual Studio per questo esempio.
Crea e associa il percorso di ricezione di BizTalk Server e le porte di invio e ricezione.
Se si desidera usare le mappe Scriptor_CallExternalAssembly.btm o Scriptor_InlineXsltCallingExternalAssembly.btm, aprire ExtendingMapper.sln in Visual Studio e apportare le modifiche seguenti (in caso contrario andare al passaggio 3):
In il Esplora soluzioni, aprire Scriptor_CallExternalAssembly.btm.
Nella griglia del mapper, seleziona il functoid di scripting.
Nella griglia delle proprietà selezionare la proprietà Script e fare clic sul pulsante con i puntini di sospensione (...) per configurare lo script functoid.
Nella finestra di dialogo Configura Functoid Scripting, selezionare la Configurazione Functoid Scripting e specificare quanto segue:
Imposta questa impostazione A questo scopo Tipo di script Assemblaggio esterno Script Assembly Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary Classe Script Microsoft.Samples.BizTalk.ExtendingMapper.MapperHelper Metodo script MyConcat Dal menuFile di Visual Studio scegliere Salva per salvare le modifiche nel file di mappa e chiudere la soluzione.
Premere un tasto qualsiasi per continuare con Setup.bat.
Importante
Se si desidera utilizzare Scriptor_InlineXsltCallingExternalAssembly.btm, è necessario modificare il file di ExternalAssembly.xml. ExternalAssembly.xml viene usato da BizTalk per mappare uno spazio dei nomi registrato di un oggetto estensione mapper a un assembly .NET. Poiché l'assembly dipendente fa riferimento al nome completo qualificato (incluso il token della chiave pubblica generato automaticamente), è necessario aggiornare questo valore. Se non si desidera usare Scriptor_InlineXsltCallingExternalAssembly.btm, non è necessario completare i passaggi da a a e.
In Esplora File, passare alla cartella <Windows>\assembly\.
Fare clic con il pulsante destro del mouse su Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary e scegliere Proprietà.
Copiare il valore del token di chiave pubblica.
In un editor di testo, aprire <Percorso degli Esempi>\XML Tools\ExtendingMapper\ExternalAssembly.xml.
Selezionare AssemblyName="Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=68496d20c737d84b"attribute e sostituire il valore publicKeyToken con il valore del token di chiave pubblica copiato nel passaggio c.
Salva e chiudi ExternalAssembly.xml.
Annotazioni
È necessario verificare che non siano stati segnalati errori durante il processo di compilazione e inizializzazione prima di tentare di eseguire questo esempio.
Per configurare, integrare e avviare la porta di trasmissione
Fare clic su Start, selezionare Tutti i programmi, Selezionare Microsoft BizTalk Server e quindi Amministrazione BizTalk Server.
Nella console di amministrazione di BizTalk Server fare clic per espandere Amministrazione BizTalk Server, fare clic per espandere Gruppo BizTalk [<servername>:<database> di gestione], quindi fare clic per espandere Applicazioni.
Fare clic per espandere ExtendingMapperApplication e quindi fare clic su Porte di trasmissione.
Nel riquadro destro fare clic con il pulsante destro del mouse su Porte di trasmissione e quindi scegliere Proprietà.
Nella finestra di dialogo ExtendingMapperSP - Send Port Properties, fare clic sulla pagina Mappe in uscita.
Nella colonna Mappa selezionare la mappa richiesta dall'elenco a discesa e quindi fare clic su OK. Le mappe sono descritte nella tabella seguente.
Mappare per applicare la proprietà Descrizione Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_CallExternalAssembly Illustra come chiamare una funzione in un assembly .NET esterno da un functoid scripting in una mappa, in base ai parametri di input di questo functoid. Ciò consente di separare in modo pulito qualsiasi logica di elaborazione dal file di mapping. Questo file di mapping usa l'assembly MapperClassLibrary.dll fornito con questo esempio. Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineScripts Illustra come scrivere script inline semplici all'interno di functoid di scripting in un file di mapping usando linguaggi .NET come C#, Visual Basic.NET e JScript.NET. Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_GlobalVariableInInlineScript Illustra come usare le variabili globali negli script inline dei Functoid Scripting. Le variabili globali vengono in genere usate per mantenere le informazioni sullo stato in un file di mapping in diversi functoid di scripting . Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXslt Viene illustrato come costruire una struttura nel documento di destinazione usando XSLT inline non elaborato all'interno di un functoid scripting nella mappa. È possibile costruire alcune parti del documento di destinazione usando functoid scripting con XSLT inline ogni volta che non è possibile farlo in BizTalk Mapper usando altri functoid. Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_XsltCalltemplate Illustra come creare una struttura nel documento di destinazione usando un modello di chiamata XSLT all'interno di un functoid Scripting nella mappa. Il vantaggio di un modello di chiamata XSLT su XSLT inline è che il modello di chiamata può accettare parametri, in modo da poter creare la struttura in base ai parametri di input al functoid Scripting . È possibile costruire alcune parti del documento di destinazione usando functoid scripting con XSLT inline ogni volta che non è possibile farlo in BizTalk Mapper usando altri functoid. Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXsltCallingExternalAssembly Questo esempio illustra come chiamare un assembly .NET esterno dall'interno dell'XSLT inline di un functoid di scripting in una mappa. Viene illustrato come eseguire l'override della proprietà XML dell'estensione personalizzata della griglia BizTalk Mapper con il file di estensione personalizzato ExternalAssembly_extxml.xml che contiene i dettagli dell'assembly .NET esterno da richiamare. È possibile costruire alcune parti del documento di destinazione usando functoid scripting con XSLT inline ogni volta che non è possibile farlo nell'interfaccia utente mapper usando altri functoid. Microsoft.Samples.BizTalk.ExtendingMapper. Sovrascrittura di MapXslt Viene illustrato come eseguire completamente l'override dell'XSLT compilato del file BizTalk Mapper con un file XSLT personalizzato. A tale scopo, è possibile eseguire l'override della proprietà Percorso XSL personalizzatoe facoltativamente la proprietà XML dell'estensione personalizzata della griglia BizTalk Mapper. Il file XSLT personalizzato fornito è incluso nell'assembly BizTalk Server compilato del progetto che si vuole usare in fase di esecuzione. In questo caso, il contenuto del file di mapping (con estensione btm) viene ignorato. Questo file mappa utilizza OverridingMapXslt.xslt e OverridingMapXslt.xml rispettivamente per le proprietà Custom XSL Path e Custom Extension XML.
È possibile convalidare un file di mappa in Esplora soluzioni. È quindi possibile usarlo come file modello che è possibile modificare e usare per la proprietà Percorso XSL personalizzato della griglia BizTalk Mapper. È possibile ricorrere a questa opzione ogni volta che non è possibile produrre questo XSLT usando BizTalk Mapper.
Esecuzione di questo esempio
Utilizzare la procedura seguente per eseguire l'esempio Extending Mapper.
Per eseguire questo esempio
Copiare il file di input ExtendingMapper.xml nella cartella di input in <Samples Path>\XmlTools\ExtendingMapper\In.
Si noti che il file viene trasformato e indirizzato alla <Samples Path>\XmlTools\ExtendingMapper\Out. La trasformazione che si verifica si basa sulla mappa applicata.