Condividi tramite


ExpenseReportSubmission

L'esempio ExpenseReportSubmission illustra come inviare un documento a un'orchestrazione BizTalk Server da un client avanzato, ad esempio Microsoft Excel.

I rich client consentono di effettuare diverse azioni sul client, ad esempio la convalida dei dati e l'esecuzione di calcoli preliminari. Questo consente di ridurre al minimo le interazioni con il server back-end, possibilità utile quando sono disponibili soltanto connessioni a larghezza di banda ridotta.

Prerequisiti

È necessario assicurarsi che l'ambiente di sviluppo sia configurato e abilitato per l'uso con BizTalk Server servizi Web. Per altre informazioni, vedere Abilitazione dei servizi Web.

Scopo dell'esempio

Questo esempio illustra come inviare una nota spese a BizTalk Server direttamente da Excel, usando la sequenza di passaggi seguente:

  1. L'utente esegue i passaggi manuali dell'esempio forniti nel foglio di calcolo di Excel.

  2. Il codice macro nel foglio di calcolo converte i dati del foglio di calcolo in formato XML (Extensible Markup Language) e invia il messaggio XML a BizTalk Server utilizzando una connessione HTTP.

  3. Il computer che esegue BizTalk Server recupera il messaggio di nota spese XML, convalida il formato utilizzando lo schema specificato e quindi lo elimina in una cartella diversa.

  4. In pratica, andando oltre l'ambito dell'esempio, un'altra applicazione, ad esempio un sistema ERP (Enterprise Resource Planning) potrebbe recuperare il file del foglio di calcolo per un'ulteriore elaborazione.

Percorso dell'esempio

<Percorso esempi>\AdaptersUsage\ExpenseReportSubmission\

Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.

File Descrizione
Cleanup.bat Annulla la distribuzione degli assembly e li rimuove dalla Global Assembly Cache (GAC); rimuove le porte di trasmissione e ricezione; rimuove le directory virtuali di Microsoft Internet Information Services (IIS) in base alle necessità.
ExpenseReport.15.3.xls Foglio di calcolo di Excel con il layout della nota spese, le macro associate e i pulsanti per richiamarle.
MessageExample.xml Esempio del formato XML della nota spese.
Setup.bat Compila e inizializza l'esempio.
Nella cartella \BTSExpenseDemo:

AssemblyInfo.cs,

BTSExpenseDemo.btproj,

BTSExpenseDemo.sln
Fornisce il progetto, la soluzione e i file correlati per l'esempio.
Nella cartella \BTSExpenseDemo:

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

BTSExpenseOrchestration.odx
Fornisce un'orchestrazione BizTalk Server per questo esempio.
Nella cartella \BTSExpenseDemo:

SchemaExpenseReport.xsd
Fornisce uno schema per il formato XML della nota spese.

Per compilare e inizializzare l'esempio

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

    <Percorso esempi>\AdaptersUsage\ExpenseReportSubmission

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

    • Compila il progetto di Microsoft Visual Studio per questo esempio e distribuisce l'assembly risultante.

    • Crea e associa le porte di invio e ricezione BizTalk Server.

      Nota

      Nell'esempio, durante la creazione e il binding delle porte vengono visualizzati i seguenti avvisi:

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

      Warning: Host not specified for orchestration "Microsoft.Samples.BizTalk.BTSExpenseDemo.BTSOrchestration"; 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.

    • Configura IIS.

    • Associa e avvia l'orchestrazione BizTalk Server.

    • Imposta l'indirizzo HTTP nel percorso previsto dal foglio di calcolo di Excel.

    Nota

    Per altre informazioni sul filtro ISAPI BizTalk, vedere Come configurare IIS per un percorso di ricezione HTTP.

    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 il progetto 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 l'assembly risultante.

    Nota

    Per annullare le modifiche apportate da Setup.bat, eseguire Cleanup.bat. È necessario eseguire Cleanup.bat prima di eseguire Setup.bat una seconda volta.

  3. Il file setup.bat configura la directory virtuale dell'esempio per l'esecuzione nel pool di applicazioni IIS associato al sito Web predefinito. Per configurare la directory virtuale per questo esempio da eseguire nel contesto di un utente nei gruppi di utenti host isolati BizTalk e IIS_WPG gruppi di utenti, è necessario configurare la directory virtuale per l'esecuzione in un nuovo pool di applicazioni IIS. A tale scopo, eseguire la procedura seguente:

    Nota

    Se è già stato creato un nuovo pool di applicazioni per un altro esempio di SDK, è possibile eseguire direttamente l'ultimo passaggio della procedura.

    1. Fare clic sul pulsante Start, scegliere Programmi, Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).

    2. In Gestione Internet Information Services (IIS) passare alla cartella Pool di applicazioni .

    3. Fare clic con il pulsante destro del mouse sulla cartella Pool di applicazioni e scegliere Nuovo, Pool di applicazioni...

    4. Immettere un nome per l'ID pool di applicazioni, ad esempio BizTalkSDKSamples, verificare che l'opzione Usa le impostazioni predefinite per il nuovo pool di applicazioni sia selezionata e fare clic su OK per creare il nuovo pool di applicazioni.

    5. Fare clic con il pulsante destro del mouse sul nuovo pool di applicazioni e quindi scegliere Proprietà.

    6. Fare clic sulla scheda Identità della finestra di dialogo delle proprietà e modificare l'identità in cui viene eseguito il pool di applicazioni in un utente membro del gruppo utenti utenti host isolato BizTalk . Questo utente deve anche essere membro del gruppo di utenti locale IIS_WPG .

    7. Configurare la directory virtuale dell'esempio SDK per l'esecuzione nel nuovo pool di applicazioni. L'impostazione Pool di applicazioni: è disponibile nella scheda Directory virtuale della finestra di dialogo Proprietà directory virtuale. La directory virtuale creata per questo esempio è ExpenseReportSubmission.

  4. Aggiungere un'estensione servizio Web a IIS per HTTPReceive.dll

    1. In Gestione Internet Information Services (IIS) passare alla cartella Estensioni servizio Web .

    2. Fare clic con il pulsante destro del mouse sulla cartella Estensioni servizio Web e scegliere Aggiungi una nuova estensione del servizio Web per visualizzare la finestra di dialogo Nuova estensione del servizio Web .

    3. Immettere ExpenseReportSubmission per Nome estensione:

    4. Fare clic su Aggiungi per visualizzare la finestra di dialogo Aggiungi file .

    5. Fare clic su Sfoglia per visualizzare la finestra di dialogo Apri e passare a <BizTalk Server cartella> Installazione\HttpReceive\BTSHTTPReceive.dll e fare clic su Apri, quindi fare clic su OK.

    6. Abilitare l'opzione Imposta lo stato dell'estensione su Consentito e fare clic su OK.

Esecuzione dell'esempio

Per eseguire l'esempio ExpenseReportSubmission, attenersi alla procedura riportata di seguito.

Nota

Se si utilizzano le funzionalità di sicurezza avanzate di Microsoft Excel, è possibile che le macro del foglio di calcolo siano disabilitate. Seguire le istruzioni fornite da Excel riguardo l'esecuzione di macro non firmate provenienti da fonti attendibili.

Per eseguire questo esempio

  1. Aprire il file Excel ExpenseReport.15.3.xls incluso nell'esempio.

  2. Se lo si desidera, modificare i dati di esempio nel foglio di calcolo senza cambiarne il formato.

  3. Nel foglio di calcolo fare clic su Start per eseguire calcoli locali.

    Il testo del pulsante passa da Start a Submit.

  4. Nel foglio di calcolo fare clic su Invia.

  5. Osservare il testo del messaggio inviato, il risultato visualizzato sopra la tabella con lo sfondo giallo (cella C7), nonché l'effettivo codice restituito e la descrizione del testo presenti in basso a destra (cella G23).

    Se l'invio ha esito negativo, provare di nuovo. Fare inoltre riferimento alla tabella relativa alla risoluzione dei problemi disponibile nella sezione Commenti.

Commenti

Scenari simili a quello descritto si presentano quando, ad esempio, un team di addetti alle vendite utilizza versioni precedenti di Microsoft Windows che non supportano .NET Framework e l'aggiornamento a una versione di Windows più recente non è un'opzione praticabile.

Di seguito sono riportate le funzionalità principali illustrate in questo esempio:

  • Invio da un rich client (non basato su .NET)

  • Integrazione di Microsoft Office

  • Connessioni di ricezione HTTP

  • Orchestrazione semplice

  • Adapter per file

    Nella seguente tabella sono riportati alcuni possibili errori di trasmissione e le relative soluzioni.

Codice di errore HTTP Azione possibile
401 - Non autorizzato Abilitare l'accesso anonimo sulla directory virtuale.
503 Servizio non disponibile (oltre a numerosi altri codici HTTP compresi negli intervalli 400 e 500) Verificare che l'host sia in esecuzione e che il servizio sia distribuito, associato alla porta corretta e avviato.

Vedere anche

Esempi di adapter - Uso