none
Déployer un service web .NET RRS feed

  • Question

  • Bonjour,

    J'ai développé un service web .NET en communication avec des services web SharePoint qui permet de synchroniser un dossier d'un serveur FTP avec une librairie SharePoint. Tout va bien en environnement de développement c'est à dire en utilisant le serveur de debug de Visual Studio, la synchronisation se passe à merveille. Mais lorsque je passe en production, en créant un package et en le déployant sur un serveur IIS, la méthode createFolder de DWS me renvoie une erreur (Serveur Failed) et pour la méthode copyIntoItem, elle ne fonctionne pas et je ne sais pas comment avoir de messages d'erreur m'expliquant ce qu'il se passe.

    J'aimerais savoir comment avoir des messages d'erreur plus consistants histoire de debugger ou mieux savoir si il faut une configuration spéciale du serveur IIS pour faire fonctionner ma méthode de synchronisation de mon service .NET

    à noter que j'utilise .NET Framework 3.5 et Sharepoint 2010

    Merci d'avance
    lundi 25 juin 2012 19:28

Réponses

  • d'après cet article, par défaut, le compte a qui appartient les workers du pool d'applications devrait avoir le nom du pool d'applications. Mais bien sûr, SharePoint ne reconnais pas ce nom... Si on ne sait pas trop comment faire, peut alors changer le compte qu'utilise IIS en se référant à celui-ci

    Sachant que j'ai opté pour la solution de définir moi même l'utilisateur accédant aux services SharePoint via

    SPServiceInstance.credentials = New NetworkCredential("username", "password", "domaine")

    j'espère que ce sujet pourra en aider certains.
    mardi 26 juin 2012 19:23

Toutes les réponses

  • Bonjour Pascal,

    Tu pourrais essayer de débuguer ce web service à distance : Debugging an XML Web Service on a Remote Server - http://msdn.microsoft.com/en-us/library/aa291236(v=vs.71).aspx#vxtskdebuggingaspnetwebservicedebuggingawebserviceonaremoteserver


    Cordialement/Regards,

    Ludovic Caffin
    .NET/SharePoint Consultant for A3IS.

    mardi 26 juin 2012 09:38
  • Bonjour Ludovic,

    Tout d'abord merci de ta réponse.

    Ensuite, l'article que tu me propose permet de débugger le service .NET que j'ai créé qui lui fonctionne. J'ai tout de même essayé. Comme le dit l'article, j'ai attaché un processus pour le débug, malheureusement, je ne trouve pas celui du serveur que je trouve d'ailleurs dans le gestionnaire de taches. Mais je ne pense pas que le problème vienne de mon code, vu qu'il fonctionne sur le serveur de Visual Studio. C'est surement une configuration du serveur que j'ai du manquer.

    Les services de SharePoint ou les serveurs IIS ne créent-ils pas de logs?

    mardi 26 juin 2012 11:23
  • En fait, après lecture des logs, c'est un problème d'authentification. System.net.DefaultCredentials ne renvoie pas vers l'utilisateur représentant le serveur qui n'a donc pas les bons droits.
    mardi 26 juin 2012 11:38
  • Je te suggérais de débugger le code à distance pour voir quelle était précisement l'erreur et d'où elle venait.

    Meme si tu as déja trouvé, pour ceux qui en aurait besoin, les logs IIS se trouvent par défaut sur : systemroot\System32\LogFiles\W3SVCnumber (Voir http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/823670b2-d7a6-4cbc-88e5-64c59dcb9105.mspx?mfr=true).

    La destination des logs IIS se configure dans les paramètres de IIS pour chaque site.

    Je suppose que le "System.net.DefaultCredentials" correspond au compte du pool d'application de l'application web faisant tourner ce web service.

    Que se passe t'il si tu donne à ce compte les droits necessaires dans le SharePoint ciblé?


    Cordialement/Regards,

    Ludovic Caffin
    .NET/SharePoint Consultant for A3IS.

    mardi 26 juin 2012 12:17
  • d'après cet article, par défaut, le compte a qui appartient les workers du pool d'applications devrait avoir le nom du pool d'applications. Mais bien sûr, SharePoint ne reconnais pas ce nom... Si on ne sait pas trop comment faire, peut alors changer le compte qu'utilise IIS en se référant à celui-ci

    Sachant que j'ai opté pour la solution de définir moi même l'utilisateur accédant aux services SharePoint via

    SPServiceInstance.credentials = New NetworkCredential("username", "password", "domaine")

    j'espère que ce sujet pourra en aider certains.
    mardi 26 juin 2012 19:23