2008-08-21 20 views
1

J'utilise un projet de configuration Web Visual Studio pour installer une application qui étend les fonctionnalités de Project Server. Je souhaite appeler une méthode à partir de l'interface PSI (Project Server Interface) à partir de l'une des actions personnalisées de mon projet d'installation, mais chaque fois obtenir une erreur "401 Unauthorized access". Que dois-je faire pour pouvoir accéder au PSI? Le même code lorsqu'il est utilisé à partir d'une application de console fonctionne sans aucun problème.Appel de la méthode Web Project Server Interface à partir d'un programme d'installation msi

Répondre

2

Il semble que dans la situation de la console, vous utilisez vos informations d'identification utilisateur actuelles, qui ont accès au PSI. Lors de l'exécution à partir du Web, il fonctionne avec les instances de l'instance d'application IIS. Je pense que vous devez soit configurer la délégation pour transmettre les fichiers Cred de session à l'application IIS, soit utiliser des fichiers Cred statiques pour votre application IIS ayant accès au fichier PSI.

+0

Je ne suis pas en train d'exécuter quoi que ce soit sur le web, j'appelle la méthode d'une action personnalisée de l'installateur, qui s'exécute depuis l'intérieur du msi. – kjv

1

J'ai finalement trouvé la réponse. Vous pouvez appeler le service PSI LoginWindows et définir les informations d'identification sur NetworkCredentials en utilisant l'utilisateur, le mot de passe et les jetons de domaine appropriés. Vous pouvez ensuite appeler n'importe quelle méthode PSI, à condition que les informations d'identification soient explicites. Sinon, en utilisant DefaultCredentials, vous obtiendrez une erreur d'accès non autorisé, car un msi est exécuté avec le compte système local.