Убедитесь, что вы изменили web.config своего приложения следующим образом. Просто перезапишите узел безопасности в узле привязки:
<binding name="WssInteropSoap">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="Ntlm"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
Теперь вы можете проходить аутентификацию без специальной учетной записи (проход через Windows) или с помощью этого кода вы можете указать учетную запись:
//credential impersonation (just if you changed your binding settings)
projectSvc.ClientCredentials.Windows.ClientCredential = new NetworkCredential("username", "password", "domain");
projectSvc.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
Надеюсь, это поможет:)
Но я никогда не слышал о функции, которая называется: "PSIFormsLogin.Login"
Может быть, моя запись в блоге о настройке подключения к PSI с C # вам интересна: Чтение пользовательских полей Project Server 2010 через PSI