This updates contains to sample PSI Extensions. The 'Hello World' and the 'ListProjects' examples. Missing from the accompaning documentation is the following:
1) You need to include the System.Web reference not only in the 'using' statement but in the list of referenced external libraries.
2) There is a bug in the GetServiceUri function of the Hello World PSI extension. A variable is declared with the name requestUri but referenced as requestUrl (with an L at the end) inside the function.
Following the rest of the instructions in the examples was easy including the deployment instructions. However when I tested the web service I got this generic catch all error: 'Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service':
After verifying that my development server had indeed Windows Authentication enabled
I then deployed the PSI extension in the Information Worker VHD provided by Microsoft to eliminate the possibility of having mis-configured my development machine, but there I got the same error condition.
After a few hours of research, I learned that while the deployment of Project Server was done using NTLM provider and the web.config was specified as NTLM in the SDK documentation. I had to change the Providers configuration setting in the web server to include 'Negotiate'.
With the addition of this Provider setting, an iisreset and an IE clear cache I was able to access the PSI extensions without additional problems.
For additional
SharePoint or Project Server
related articles please visit my website at:
www.gustavogarcia.net