2008-08-21 46 views
1

我正在使用Visual Studio Web安裝項目來安裝擴展Project Server功能的應用程序。我想從我的安裝項目的一個自定義操作中調用PSI(Project Server Interface)中的一個方法,但是每次都得到「401 Unauthorized access」錯誤。我應該怎麼做才能訪問PSI。從控制檯應用程序使用相同的代碼時沒有任何問題。從msi安裝程序調用Project Server接口Web方法

回答

2

聽起來像在控制檯中,您正在使用您當前的用戶憑證運行,它可以訪問PSI。從網絡運行時,它將與IIS應用程序實例的信譽一起運行。我認爲你需要設置委派來將會話信任傳遞給IIS應用程序,或者爲可以訪問PSI的IIS應用程序使用一些靜態信用。

+0

我沒有從網上運行任何東西,我從安裝程序自定義操作中調用該方法,該方法從msi中運行。 – kjv 2008-08-23 07:56:11

1

我終於找到了答案。您可以使用適當的用戶,密碼和域令牌來調用LoginWindows PSI服務以設置NetworkCredentials的憑據。然後,只要憑證是明確的,就可以調用任何PSI方法。否則,使用DefaultCredentials會得到一個未經授權的訪問錯誤,因爲msi是使用本地系統帳戶運行的。