erreur chargement d'un XML depuis une URL - InfoPath Dev
in

InfoPath Dev

erreur chargement d'un XML depuis une URL

Last post 03-07-2007 04:56 AM by Coita Thierry. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • 02-28-2007 01:56 PM

    erreur chargement d'un XML depuis une URL

    Bonjour tout le monde,

    Depuis un formulaire Infopath, quand je clique sur un bouton j'essaie de charger un fichier XML depuis une librairie sharepoint de cette manière :
    XmlDocument xmlDoc = new XmlDocument();	
    xmlDoc.Load("http://server/site/librairie/fichier.xml");


    Mais je reçois en retour du serveur une erreur (401) Unauthorized.

    Mon formulaire est "full trusté" et signé avec le certificat de mon serveur. Je suis authentifié avec un utilisateur qui a les droits administrateur sur le serveur.

    Est-ce que vous connaissez un moyen de passer les "Credentials" avant de charger mon fichier ?
    Ou alors est-ce qu'il existe un autre moyen de charger un fichier XML ?

    Merci d'avance pour votre aide
  • 02-28-2007 02:57 PM In reply to

    Re: erreur chargement d'un XML depuis une URL

    J'ai trouvé la solution ! Pourtant je vous assure que j'avais essayer plein de choses avant de vous appeler à l'aide...
    Pour ceux que ça intéresse, voici comment j'ai corrigé mon code


    //create an XmlUrlResolver with default credentials
    XmlUrlResolver resolver=new XmlUrlResolver();
    resolver.Credentials=System.Net.CredentialCache.DefaultCredentials;

    //create an XmlTextReader to read the main xml file
    XmlTextReader mainTxtReader=new XmlTextReader("http://server/site/library/fichier.xml");
    mainTxtReader.XmlResolver=resolver;

    //load main Xml document
    XmlDocument xmlDoc = new XmlDocument();
    try{ xmlDoc.Load(mainTxtReader); }
    catch(System.IO.FileNotFoundException e){thisXDocument.UI.Alert("Could not load XML " + e.Message);}


    De cette manière, l'accès à la librairie Sharepoint se fait via l'authentification Windows.
    Dans le Framework 2.0 il est plutôt conseillé d'utiliser cette méthode pour créer le Reader :
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.XmlResolver = resolver;
    XmlReader reader = XmlReader.Create("http://serverName/data/books.xml");

  • 03-07-2007 04:56 AM In reply to

    Re: erreur chargement d'un XML depuis une URL

    Salut,

    En complément de ta solution il est possible d'interroger un webservice de Sharepoint (créer par défaut) qui permet de savoir qu'es-ce qu'il y a dans les listes, une méthode pour les effacer, ajouter un élément, ...

    Ici on montre comment effacer une liste Sharepoint depuis Infopath:

    http://infopathdev.com/howto/tutorials/default.aspx?i=1d52979046884d8186c9393a1ea95109

    Mais le principe est le même pour le reste.

    ++

    Thierry
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
Page 1 of 1 (3 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.