Partager via


ExpenseReportSubmission

L’exemple ExpenseReportSubmission montre comment envoyer un document à une orchestration BizTalk Server à partir d’un client riche tel que Microsoft Excel.

Les applications client riche vous permettent d'effectuer un certain nombre d'actions, telles que des validations et des calculs préliminaires, sur le client. Cela contribue à réduire au minimum les interactions avec le serveur principal, ce qui peut être utile lorsque seules des connections à faible bande passante sont disponibles.

Prérequis

Vous devez vous assurer que votre environnement de développement est configuré et activé pour fonctionner avec BizTalk Server services Web. Pour plus d’informations, consultez Activation des services web.

Fonctions de l'exemple

Cet exemple montre comment envoyer une note de frais à BizTalk Server directement à partir d’Excel, en suivant la séquence d’étapes suivante :

  1. L'utilisateur effectue les étapes manuelles de l'exemple fournies dans le tableur Excel.

  2. Le code de macro dans la feuille de calcul convertit les données de feuille de calcul au format XML (Extensible Markup Language) et envoie le message XML à BizTalk Server à l’aide d’une connexion HTTP.

  3. L’ordinateur exécutant BizTalk Server récupère le message de note de frais XML, valide son format à l’aide du schéma fourni, puis le dépose dans un autre dossier.

  4. En pratique, au delà de cet exemple, une autre application, comme un système planification des ressources de l'entreprise (ERP), récupère ensuite le fichier de tableur pour un traitement ultérieur.

Accès à l'exemple

<Chemin d’accès> des exemples\AdaptersUsage\ExpenseReportSubmission\

Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.

Fichier(s) Description
Cleanup.bat Annule le déploiement des assemblys et les supprime du GAC, supprime les ports d'envoi et de réception, ainsi que les répertoires virtuels Microsoft Internet Information Services.
ExpenseReport.15.3.xls Tableur Excel avec la mise en page de la note de frais, les macros associées, et des boutons pour appeler les macros.
MessageExample.xml Exemple de note de frais au format XML.
Setup.bat Crée et initialise l'exemple.
Dans le dossier \BTSExpenseDemo :

AssemblyInfo.cs,

BTSExpenseDemo.btproj,

BTSExpenseDemo.sln
Fournit un projet, une solution, et des fichiers associés pour cet exemple.
Dans le dossier \BTSExpenseDemo :

BTSExpenseDemoBinding.xml
Utilisé pour une installation automatique, comme une liaison de port.
Dans le dossier \BTSExpenseDemo :

BTSExpenseOrchestration.odx
Fournit une orchestration BizTalk Server pour cet exemple.
Dans le dossier \BTSExpenseDemo :

SchemaExpenseReport.xsd
Fournit un schéma pour la note de frais au format XML.

Pour créer et initialiser l'exemple

  1. Dans une fenêtre de commande, accédez au dossier suivant :

    <Chemin d’accès> des exemples\AdaptersUsage\ExpenseReportSubmission

  2. Exécutez le fichier Setup.bat, qui effectue les actions suivantes :

    • Compile le projet Microsoft Visual Studio pour cet exemple et déploie l’assembly résultant.

    • Crée et lie les ports d’envoi et de réception BizTalk Server.

      Notes

      Cet exemple affiche les avertissements suivants lors de la création et de la liaison des ports :

      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.

      Vous pouvez ignorer ces avertissements sans problème. (Pour s'adapter aux éventuelles différences d'attribution de noms dans les installations utilisateur, le nom d'hôte et le gestionnaire de réception ont été omis dans le fichier de liaison.)

    • Active l'emplacement de réception, et démarre le port d'envoi.

    • Configure IIS.

    • Lie et démarre l’orchestration BizTalk Server.

    • Définit l'adresse HTTP à l'emplacement prévu par le tableur Excel.

    Notes

    Pour plus d’informations sur le filtre ISAPI BizTalk, consultez Configuration d’IIS pour un emplacement de réception HTTP.

    Notes

    Avant d'essayer d'exécuter cet exemple, vous devez vous assurer que BizTalk Server n'a signalé aucune erreur lors du processus de création et d'initialisation.

    Notes

    Si vous choisissez d'ouvrir et de créer le projet dans cet exemple sans exécuter le fichier Setup.bat, vous devez d'abord créer une paire de clés de nom fort en utilisant l'utilitaire .NET Framework Strong Name Utility (sn.exe). Utilisez cette paire de clés pour signer l'assembly obtenu.

    Notes

    Pour annuler les modifications effectuées par Setup.bat, exécutez Cleanup.bat. Vous devez exécuter Cleanup.bat avant d'exécuter Cleanup.bat une seconde fois.

  3. Le fichier setup.bat configure le répertoire virtuel pour que cet exemple soit exécuté dans le pool d'applications IIS associé au site Web par défaut. Pour configurer le répertoire virtuel pour que cet exemple s’exécute dans le contexte d’un utilisateur dans les groupes d’utilisateurs hôtes isolés BizTalk et IIS_WPG , vous devez configurer le répertoire virtuel pour qu’il s’exécute dans un nouveau pool d’applications IIS. Configurez le répertoire virtuel pour qu’il s’exécute dans un nouveau pool d’applications IIS en effectuant les étapes suivantes :

    Notes

    Si vous avez déjà créé un nouveau pool d'applications pour un autre exemple SDK, alors vous pouvez passer au dernier élément ci-dessous.

    1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet (IIS).

    2. Dans le Gestionnaire des services Internet (IIS), accédez au dossier Pools d’applications .

    3. Cliquez avec le bouton droit sur le dossier Pools d’applications , puis cliquez sur Nouveau, Pool d’applications...

    4. Entrez un nom pour l’ID du pool d’applications : par exemple BizTalkSDKSamples, vérifiez que l’option Utiliser les paramètres par défaut pour le nouveau pool d’applications est sélectionnée, puis cliquez sur OK pour créer le pool d’applications.

    5. Cliquez avec le bouton droit sur le nouveau pool d’applications, puis cliquez sur Propriétés.

    6. Cliquez sur l’onglet Identité de la boîte de dialogue propriétés et modifiez l’identité sous laquelle ce pool d’applications s’exécute en un utilisateur membre du groupe d’utilisateurs d’hôtes isolés BizTalk . Cet utilisateur doit également être membre du groupe d’utilisateurs local IIS_WPG .

    7. Configurez le répertoire virtuel pour que cet exemple de Kit de développement logiciel soit exécuté sous le nouveau pool d'applications. Le paramètre Pool d’applications : est disponible sous l’onglet Répertoire virtuel de la boîte de dialogue Propriétés du répertoire virtuel. Le répertoire virtuel créé pour cet exemple est ExpenseReportSubmission.

  4. Ajout d'une extension de service web aux IIS pour HTTPReceive.dll

    1. Dans le Gestionnaire des services Internet (IIS), accédez au dossier Extensions de service web .

    2. Cliquez avec le bouton droit sur le dossier Extensions de service web et sélectionnez Ajouter une nouvelle extension de service Web pour afficher la boîte de dialogue Nouvelle extension de service web .

    3. Entrez ExpenseReportSubmission comme Nom de l’extension :

    4. Cliquez sur Ajouter pour afficher la boîte de dialogue Ajouter un fichier .

    5. Cliquez sur Parcourir pour afficher la boîte de dialogue Ouvrir, accédez à <BizTalk Server dossier> Installation\HttpReceive\BTSHTTPReceive.dll, cliquez sur Ouvrir, puis cliquez sur OK.

    6. Activez l’option Définir l’extension status sur Autorisé, puis cliquez sur OK.

Exécution de cet exemple

Utilisez la procédure suivante pour exécuter l'exemple ExpenseReportSubmission.

Notes

Si vous utilisez les composants de sécurité avancée de Microsoft Excel, les macros du tableur peuvent être désactivées. Suivez les instructions fournies par Excel sur la manière d'exécuter des macros non-signées provenant d'une source approuvée.

Pour exécuter l'exemple

  1. Ouvrez le fichier Excel ExpenseReport.15.3.xls inclus dans cet exemple.

  2. Eventuellement, modifiez les données d'exemple dans le tableur sans changer son format.

  3. Dans la feuille de calcul, cliquez sur Démarrer pour effectuer des calculs locaux.

    Le texte du bouton passe de Démarrer à Envoyer.

  4. Dans la feuille de calcul, cliquez sur Envoyer.

  5. Observez le texte du message soumis, le résultat au-dessus du tableau avec l'arrière-plan jaune (cellule C7), ainsi que le code de retour et la description de texte en dessous et à droite (cellule G23).

    Si la soumission échoue, essayez à nouveau. Consultez également le tableau de résolution des problèmes dans la section Commentaires.

Commentaires

Des scénarios comme celui-ci peuvent se produire lorsqu'une force de vente sur le terrain est par exemple équipée de versions plus anciennes de Microsoft Windows, qui ne supportent pas le .NET Framework, et pour lesquelles une mise à jour vers une version plus récente de Windows ne serait pas une option viable.

Les principaux composants présentés dans cet exemple sont :

  • Soumission à partir d'une application client riche (non basée sur .NET)

  • Intégration de Microsoft Office

  • Connections de réception HTTP

  • Orchestration simple

  • adaptateur FILE.

    Le tableau suivant montre les éventuelles erreurs de soumission et leurs solutions.

Code d'erreur HTTP Action possible
401 Non autorisé Activez l'accès anonyme sur le répertoire virtuel.
503 Service non disponible, et la plupart des autres codes HTTP dans les plages 400 et 500 Assurez-vous que l'hôte est en cours d'exécution et que le service est déployé, relié au bon port, et démarré.

Voir aussi

Exemples d’adaptateurs- Utilisation