SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

A la découverte d'InfoPath
Accueil > Articles > Office
Auteurs 
Yann ALET
LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT
Formateur


 Tous les articles de cet auteur

3,3/5

Assez Bien


158274
588/1953

Configuration du serveur Web

Récapitulatif de la procédure

Je vous ai concocté une petite animation flash qui résume un peu la procédure qu'on va mettre en place pour poster notre news

Du code !

He oui, vous allez coder ! Je suis certains que beaucoup d'entre vous ne s'attendaient pas à ca en commencent à lire un article sur Office. C'est pourtant la vérité. Ne voyez pas en cela un manque de fonctionnalités d'InfoPath mais plutôt une ouverture vers des millions de scénarios possibles !

Comme vous avez pu le voir dans l'animation, Infopath envoie à notre serveur web le fichier xml contenant les informations relatives à la news.

Il est bien évident que dans le cadre de cet article nous n'allons pas réellement vous donner la possibilité d'envoyer des news vers notre serveur web :)

C'est pour cela que je vous invite à mettre en place un serveur IIS sur votre machine. Nous développerons une page aspx (technologie .NET) sur ce serveur qui aura pour unique tâche de récupérer le fichier xml envoyé par notre formulaire, extraire les informations de ce fichier, et les stocker dans une base de donnée Access. Nous ne développerons pas la dernière partie qui consiste à développer une page dynamique accédant à cette base de donnée pour afficher les news.

Récupérer le fichier xml envoyé

Nous aurons besoin de System.xml et System.IO pour mener à bien notre projet, pensez donc à rajouter ces espaces de noms :

 

 

Etant donné que le seul but de la page aspx que nous allons développer est de récupérer la news, nous allons définir cette action directement au niveau de la méthode Page_Load  :

 

Notez également la déclaration des variables dans lesquelles seront recopiées les informations contenues dans le fichier xml

 

Ici, nous stockons dans str , via Request.InputStream , le flux reçus (le fichier xml) par la page à son lancement.

Si nous recevons effectivement un flux, (strLen>0), alors nous sauvegardons ce flux dans un fichier news.xml.

En voila le contenu une fois que InfoPath soumet le formulaire dûment remplit.

 

Formulaire :

 

Fichier xml reçu par le serveur :

<?xml version="1.0" encoding="UTF-8"?><?mso-infoPathSolution productVersion="11.0.5531" PIVersion="1.0.0.0" href="file:///C:\Documents%20and%20Settings\Yann\Local%20Settings\Application%20Data\Microsoft\InfoPath\57611374ae904062\manifest.xsf" solutionVersion="1.0.0.11" ?><?mso-application progid="InfoPath.Document"?><my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2003-11-02T16:46:28" xmlns:xhtml="http://www.w3.org/1999/xhtml" xml:lang="fr">

<my:UserSection>

<my:field1></my:field1>

<my:Login> yann </my:Login>

<my:password> toto </my:password>

</my:UserSection>

<my:NewsSection>

<my:field4></my:field4>

<my:field5></my:field5>

<my:NewsTitle> Red Hat 5 à 10 fois moins sécurisé que Windows ! </my:NewsTitle>

<my:NewsPicUrl> http://microsoft.fr/balmer.gif </my:NewsPicUrl>

<my:NewsDesc > <div xmlns="http://www.w3.org/1999/xhtml">C'est en effet à l'occasion d'une interview donnée à <strong>PressPass</strong> pendant le <strong>Gartner Fall Symposium 2003 à Orlando </strong>, que <strong>Steve Balmer</strong> a déclaré, en se basant sur « les chiffres », la chose suivante : </div>

<div xmlns="http://www.w3.org/1999/xhtml"> </div>

<div xmlns="http://www.w3.org/1999/xhtml"><em>" In the first 150 days, and this is the kind of stuff we track, the first 150 days of Windows 2000 we had 17 critical vulnerabilities.  The first 150 days of Windows 2003 we had four critical vulnerabilities.  The first 150 days of Red Hat 6, go check the number, just go check the number.  It's five to ten times higher than what we are showing."</em></div> </my:NewsDesc>

<my:NewsSource> http://www.microsoft.com/presspass/exec/steve/2003/10-21Gartner.asp </my:NewsSource>

<my:NewsType> Sécurité </my:NewsType>

<my:NewsDate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 2003-11-08T00:00:00 </my:NewsDate>

</my:NewsSection>

<my:field11 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></my:field11>

</my:myFields>

 

Vous remarquerez que nous retrouvons nos balises avec les nom de contrôles défini au niveau de notre formulaire InfoPath, mais également nos sections : UserSection et NewsSection

Maintenant que notre serveur web a récupéré le fichier xml contenant la news, il faut recharger ce fichier en mémoire avec un XmlNodeReader qui parcourra ce fichier xml et en extraira les informations.

Note : La méthode utilisée ici pour transférer les informations du flux xml à la base de donnée est loin d'être optimisée. Cependant je pense qu'elle a le mérite d'être simple, et accessible à tous.

Il ne nous reste plus qu'à renvoyer ces informations dans une base de donnée Access :

Maintenant que notre serveur est opérationnel, la dernière étape consiste à éditer à nouveau notre bouton « Envoyer » dans notre formulaire pour qu'il envoie le fichier xml à notre serveur :

 

Voila c'est terminé.


Sommaire
1. Introduction
2. Notre projet
3. Création de notre formulaire
4. Un peu d'Xml
5. Et InfoPath la dedans ?
6. Configuration du serveur Web
7. Publication du formulaire
Conclusion



En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft