none
Web Service et Authentification RRS feed

  • Question

  • Bonjour à tous,

     

    Je vous sollicite à nouveau pour un probléme d'authentification concernant les Web Service SharePoint.

     

    Contexte :

    J'ai réussi à uploader un document depuis un serveur Web A vers mon Serveur SharePoint (Bibliothéque de document).

    Mon Serveur Web A se connecte à mon web service custom de mon Serveur SharePoint.

     

    Mon probléme se situe lors de l'authentification entre mon Serveur A et SharePoint.

     

     

    Lorsque je spécifies les identifiants dans le code source (coté Serveur A), l'upload fonctionne correctement.

    --

    //Configuration de l'Authentification SharePoint

    string loginSP = "login";

    string passwordSP = "password";

    string domainSP = "domain";

    UpdateFiles.UpdateFiles _svc = new UpdateFiles.UpdateFiles();

    //Authentification

    _svc.Credentials = new NetworkCredential(loginSP, passwordSP, domainSP);

    string resultat = _svc.UploadDocument(NomFichier, binFichier, CheminLibrary, Champs);

    --

     

     

     

    Maintenant, j'aimerais récupérer les identifiants de l'utilisateur connecté sur ma page de mon Serveur Web A pour que le propriétaire du document SharePoint soit le même.

    J'utilise ainsi les "CacheCredentials" mais cela ne passe pas, mon SharePoint m'envoi une erreur de type 'Unauthorized's

     

    --

    //Configuration de l'Authentification SharePoint

    UpdateFiles.UpdateFiles _svc = new UpdateFiles.UpdateFiles();

    //Authentification

    _svc.PreAuthenticate = true;

    _svc.Credentials = CredentialCache.DefaultCredentials;

    string resultat = _svc.UploadDocument(NomFichier, binFichier, CheminLibrary, Champs);

    --

     

    - Je précises que mon Serveur Web A est dans le même domaine que mon Serveur SharePoint.

    - De plus, l'authentification sur le répertoire virtuel du server Web A est de l'"Authentification Windows Intégrer"

    - Et l'utilisateur qui se connecte au server Web A dispose des bons droits sur la bibliothéque de document SharePoint

     

     

    Si je vais dans les logs IIs :

     

    - Coté Serveur Web A :

    Je vois que l'authentification s'est bien passé :

     

    2008-04-27 10:58:07 W3SVC1 192.168.50.135 GET /useUpdate/Default.aspx - 80 DOMAIN\login 192.168.50.10 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727) 200 0 0

     

     

    - Coté SharePoint :

    L'authentification n'a pas été trouvé, donc erreur 401 :

    (SHARE2 est le nom de mon serveur SharePoint)

     

    2008-04-27 11:58:07 W3SVC222479394 192.168.50.30 POST /ws/UpdateFiles.asmx - 80 DOMAIN\SHARE2$ 192.168.50.135 Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+2.0.50727.1433) 401 5 0

     

     

     

     

    En tout cas, merci beaucoup d'avoir pris le soin de me lire Smile

     

     

    LEMONNIER OLIVIER

     

     

     

     

     

     

     

    dimanche 27 avril 2008 11:12

Toutes les réponses

  • Bonjour,

     

    Vous n'avez pas précisé l'emplacement de votre fichier UpdateFiles.asmx

     

    Il est possible qu'il s'agisse d'un problème de déploiement, avez vous bien déployé votre webservice dans l'aborescence du répertoire 12 ?

     

    par exemple 12/LAYOUTS/UpdateFiles/UpdateFiles.asmx

    il faudrait alors, pour s'y connecter, utiliser l'url http://url_du_site/_layouts/UpdateFiles/UpdateFiles.asmx

     

    Est-ce que le problème persiste dans ces conditions ?

    mardi 29 avril 2008 07:11
  •  

    Bonjour,

    Tout d'abord, merci pour votre réactivité.

     

    J'ai fais comme vous m'avez dit, j'ai retouché à l'emplacement de mon Web Service sur le Server Sharepoint

     

    1.

    J'ai copié mon répertoire "Update" dans

    "C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS"

    Je le vois désormais dans l'application Web SharePoint (niveau IIS)

     

    2.

    J'ai supprimer le web.config qui était dans mon répertoire Update pour que ce soit celui de mon application Web qui soit pris en compte (celui généré par sharepoint lors de la création de l'application Web)

     

    3.

    J'ai donné tous les droits sur mon répertoire Update pour IIS puisse le lire

     

    4.

    Mon répertoire se compose de la forme :

     

    - UpdateFiles.asmx

    <%@ WebService Language="C#" CodeBehind="~/App_Code/UpdateFiles.asmx.cs" Class="Space.UpdateFiles" %>

     

    - UpdateFilesdisco.aspx

    - UpdateFileswsl.aspx

    - App_Code

    - UpdateFiles.asmx.cs (ma classe UpdateFiles se trouve dans le namespace "Space"

     

     

    Maintenant, lorsque j'essayes d'accéder à ma page UpdateFiles.asmx, j'ai une erreur SharePoint

     

    Erreur inconnue

    Résoudre les problèmes liés à Windows SharePoint Services.

     

    SI je vais dans les logs SHarepoint :

     

     w3wp.exe (0x153C)                        0x0FF0 Windows SharePoint Services    General                        8dzz High     Exception Type: System.Web.HttpParseException  Exception Message: Impossible de créer le type 'Space.UpdateFiles'.

     

     

    J'accéde à cette page via l'url :

    http://url_du_site/_layouts/Update/UpdateFiles.asmx

     

     

    Peut être une ligne à ajouter dans le web.config ?

     

     

     

     

    Olivier

    mardi 29 avril 2008 09:02
  • Il me semble anormal d'avoir à modifier le parametrage IIS.. Lors de la génération de la web reference, avez vous utilisé l'url http://url_du_site/_layouts/Update/UpdateFiles.asmx ?

     

    d'autre part concernant le fichier asmx :

     

    - UpdateFiles.asmx

    <%@ WebService Language="C#" CodeBehind="~/App_Code/UpdateFiles.asmx.cs" Class="Space.UpdateFiles" %>

     

    Cette déclaration est invalide, il faut spécifier l'assembly dans laquelle la classe UpdateFiles se trouve (D'ailleurs, il n'y a pas de répertoire App_Code dans Sharepoint)

     

    je vous invite à étudier le tutorial de la MSDN concernant la création de WebService dans SharePoint : http://msdn2.microsoft.com/en-us/library/ms464040.aspx

    mardi 29 avril 2008 09:52