Condividi tramite


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:

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

  2. L'orchestrazione chiama la libreria matematica inclusa per eseguire l'aggiunta o la sottrazione specificata nel file di input XML.

  3. Il metodo di libreria matematica appropriato, Add o Subtract, esegue il calcolo richiesto e inserisce il risultato come documento XML.

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

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

    <Percorso esempi>\Orchestrations\MethodCall

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

  1. Incollare una copia del file Input.xml nella cartella In.

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

  3. È possibile modificare il file di input per richiedere calcoli di addizione o sottrazione diversi.

Disinstallazione dell'esempio

Per disinstallare l'esempio MethodCall

  1. Al prompt dei comandi di Visual Studio modificare la directory (cd) impostando <Samples Path>\Orchestrations\MethodCall\.

  2. Eseguire Cleanup.bat.

Vedere anche

Orchestrations (cartella di esempi di BizTalk Server)