IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

WebService avec Sharepoint pour manipuler des .doc


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par défaut WebService avec Sharepoint pour manipuler des .doc
    Bonjour à tous,

    Je débute sous Sharepoint (version 2003 WSS 2.0)

    Il me faut manipuler les web service pour travailler avec mon "document library"

    1 - recuperer un document word.
    2 - uploader un nouveau document word.

    Je trouve pas enormément de documentation deussus, du moin celle que je trouve ne m'aide pas énormément.

    Donc j'ai mon url:
    string SiteUrl = "http://monIP/monsite/doc_rep/Forms/AllItems.aspx";

    j'ai vu qu'on pouvais utiliser SPsite, SPfile (voir lists.asmx) mais rien ne fonctionne vraiment. Avec lists.asmx j'arrive tout au plus a récuperer ma liste de doc.. et avec SPfile ca me dit que j'ai bien uploadé un fichier mais rien n'arrive sur mon serveur.

    Par exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
                WebReference.Lists listService = new WebReference.Lists();
                listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
                listService.Url = SiteUrl;
                System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
                string listName = "doc";
                string viewName = "";
                string rowLimit = "5";
     
                System.Xml.XmlElement query = xmlDoc.CreateElement("Query");
                System.Xml.XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
                System.Xml.XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");
     
                query.InnerXml = "";
                viewFields.InnerXml = "<FieldRef Name=\"Title\" />";
                queryOptions.InnerXml = "";
                System.Xml.XmlNode nodeListItems = listService.GetListItems(listName, viewName, query, viewFields, rowLimit, queryOptions);
     
                int i = 0;
                foreach (System.Xml.XmlNode listItem in nodeListItems)
                {
                    label1.Text += "\n\n" +listItem.OuterXml;// listItem.OuterXml;
                }
    Je ne sais que faire du OuterXml il contient bien le nom de mes doc mais apres..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
                string _sharepointDocumentLibrary;
                _sharepointDocumentLibrary = SiteUrl;
     
                WebRef_SPFile.SPFiles svcDocLoader = new WebRef_SPFile.SPFiles();
     
                svcDocLoader.PreAuthenticate = true;
     
                System.Net.ICredentials credential = new System.Net.NetworkCredential("user", "pwd", "domain");
                svcDocLoader.Credentials = credential;             
     
                string strDestination = _sharepointDocumentLibrary;
     
                FileStream fStream = new FileStream(@"c:\up2.doc", System.IO.FileMode.Open);            
     
                byte[] binFile = new byte[(int)fStream.Length];
                fStream.Read(binFile, 0, (int)fStream.Length);
                fStream.Close();
                string result = svcDocLoader.UploadDocument("up2.doc", binFile, strDestination);
                label1.Text = result;
    Ce code devrait uploader up2.doc sur mon serveur mais rien, même si le "result" me dit que c'est fait..


    Si vous avez des bouts de code, des sites avec exemples concret je suis preneur. Merci beaucoup.

  2. #2
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par défaut
    Bon après avoir changer des autorisation et mon rep j'ai enfin réussi a uploader un fichier \o/

    Pour ceux que ça interresse il faut utiliser cela:

    _sharepointDocumentLibrary = "http://ip/site_name/doc_rep";

    Sans le '/' de fin.

    Tout simplement.

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par défaut
    Bon maintenant que j'arrive bien a envoyer un document word via webservice je cherche a récuperer un .doc via webservice.

    Alors j'ai trouver ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    SPSite siteCollection = SPControl.GetContextSite(Context);
    SPWebCollection sites = siteCollection.AllWebs;
     
    foreach (SPWeb site in sites)
    {
     
        SPListCollection lists = site.Lists;
     
        foreach (SPList list in lists)
        {
     
            if (list.BaseType == SPBaseType.DocumentLibrary)
            {
     
                SPDocumentLibrary docLibrary = (SPDocumentLibrary)list;
     
                if (!docLibrary.IsCatalog && list.BaseTemplate != SPListTemplateType.XMLForm)
                {
     
                    SPListItemCollection docLibItems = docLibrary.Items;
     
                    foreach (SPListItem docLibItem in docLibItems)
                    {
     
                        Label1.Text += SPEncode.HtmlEncode(site.Name) + " -- " + 
                            SPEncode.HtmlEncode(list.Title) + " -- " + SPEncode.HtmlEncode(docLibItem["Title"]) + "<BR>";
                    }
                }
            }
        }
    }
    Mais impossible de comprendre comment initialiser le "context" , si quelqu'un a déjà utilisé cela ???

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par défaut
    Bon ca fonctionne.


    Donc pour recupérer un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    byte[] binFile = svcDocLoader.CheckOut(_sharepointDocumentLibrary + "/up2.doc");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour ouvrir des docs office dans sharepoint
    Par fifili64 dans le forum SharePoint
    Réponses: 5
    Dernier message: 10/12/2008, 22h09
  2. API pour manipuler des RPM
    Par pcery dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 07/08/2006, 14h44
  3. Quel langage pour manipuler des entiers très longs ?
    Par mis_dj dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 10/05/2006, 21h12
  4. utilisation du header pour ouvrir des .doc
    Par krolineeee dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2006, 14h57
  5. Delphi 2005 pour manipuler des formulaires MS-Access ??
    Par Mustard007 dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/10/2005, 21h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo