MethodCall (esempio di BizTalk Server)
Nell'esempio MethodCall viene illustrato come chiamare un metodo basato su .NET da un'orchestrazione di BizTalk Server.
Scopo dell'esempio
Questo esempio interagisce con un metodo basato su .NET utilizzando la sequenza seguente di passaggi:
L'orchestrazione BizTalk Server recupera un file di input XML dalla cartella In. Il file contiene informazioni su un'aggiunta o una sottrazione che si desidera venga eseguita nella libreria matematica.
L'orchestrazione chiama la libreria matematica inclusa per eseguire l'aggiunta o la sottrazione specificata nel file di input XML.
Il metodo di libreria matematica appropriato, Add o Subtract, esegue il calcolo richiesto e inserisce il risultato come documento XML.
L'orchestrazione inserisce il file XML risultante nella cartella Out.
Progettazione e finalità dell'esempio
In questo esempio vengono illustrate le funzionalità seguenti:
Utilizzo delle proprietà alzate di livello in un'orchestrazione. I tre elementi di InputSchema.xsd vengono alzati di livello come campi distinti. Quando l'orchestrazione riceve il messaggio di input, ottiene i valori di questi tre campi e li assegna alle variabili corrispondenti dichiarate nell'orchestrazione.
Utilizzo della forma Decide per esprimere la logica "if-then-else" in un'orchestrazione. Dopo che l'orchestrazione assegna i valori dei campi distinti alle variabili interne, immette la forma Decide per verificare se deve essere eseguita un'addizione o una sottrazione. Se non deve essere eseguita alcuna operazione, l'orchestrazione termina.
Chiamata a un assembly esterno da un'orchestrazione. Se deve essere eseguita un'addizione, l'orchestrazione chiama un assembly C# esterno e passa due parametri per eseguire questa operazione. Le stesse procedure sono applicabili a una sottrazione.
Nota
Prima di chiamare l'assembly dall'orchestrazione, è necessario installarlo nella Global Assembly Cache; in caso contrario, si riceverà un errore XLANG in fase di esecuzione.
Utilizzo della forma Assegnazione messaggi per costruire il messaggio di output.
Debug dell'orchestrazione inserendo il codice seguente nella forma Espressione:
System.Diagnostics.Debug.WriteLine(iResult);
È inoltre possibile scrivere il risultato nel registro eventi utilizzando:
System.Diagnostics.EventLog.WriteEntry("MethodCall SDK Sample Debug", System.String.Format("Result = {0}", iResult);
Percorso dell'esempio
<Percorso esempi>\Orchestrations\MethodCall\
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.xml | File di input di esempio. |
Setup.bat | Utilizzato per compilare e inizializzare l'esempio. |
Nella cartella \MathLibrary: AssemblyInfo.cs, MathHelper.cs, MathLibrary.csproj |
File di progetto e di origine per la libreria matematica utilizzata nell'esempio. |
Nella cartella \MethodCallSample: InputSchema.xsd, OutputSchema.xsd |
Schemi per i file XML rispettivamente di input e di output. |
Nella cartella \MethodCallSample: MethodCallSample.btproj, MethodCallSample.sln |
File di progetto e soluzione per l'esempio. |
Nella cartella \MethodCallSample: MethodCallSampleBinding.xml |
Utilizzato per l'impostazione automatica, ad esempio il binding delle porte. |
Nella cartella \MethodCallSample: MethodCallService.odx |
BizTalk Server orchestrazione che chiama la libreria matematica per eseguire il calcolo richiesto. |
Compilazione e inizializzazione dell'esempio
Per compilare e inizializzare l'esempio MethodCall
In una finestra di comando passare alla seguente cartella:
<Percorso esempi>\Orchestrations\MethodCall
Eseguire il file Setup.bat. Verranno eseguite le operazioni seguenti:
Creazione delle cartelle di input (In) e output (Out) per l'esempio nella cartella MethodCall.
Compila i progetti di Visual Studio per questo esempio e distribuisce gli assembly risultanti.
Crea e associa il BizTalk Server percorso di ricezione e le porte di invio e ricezione all'orchestrazione.
Abilita l'indirizzo di ricezione e avvia la porta di trasmissione. Integrazione e avvio dell'orchestrazione.
Nota
Prima di provare a eseguire l'esempio, è necessario verificare che BizTalk Server non abbia segnalato errori durante il processo di generazione e inizializzazione.
Esecuzione dell'esempio
Per eseguire l'esempio MethodCall
Incollare una copia del file Input.xml nella cartella In.
Osservare il file con estensione xml creato nella cartella Out. Questo file contiene il risultato dell'addizione o della sottrazione richiesta. Il formato del nome di questo file è <MessageID>.xml, dove <MessageID> è il GUID generato per identificare in modo univoco il messaggio.
È possibile modificare il file di input per richiedere calcoli di addizione o sottrazione diversi.
Disinstallazione dell'esempio
Per disinstallare l'esempio MethodCall
Al prompt dei comandi di Visual Studio modificare la directory (cd) impostando <Samples Path>\Orchestrations\MethodCall\.
Eseguire Cleanup.bat.