Finding the PSI Web Services
The PSI Web services are one of the shared services of Microsoft Office SharePoint Server 2007, along with the Excel Calculation Services and Enterprise Search Web services. The shared Web services use a Shared Services Provider (SSP) with an application pool that you can specify during the initial configuration of Microsoft Office Project Server 2007. You can find the local path and the URL of the PSI Web service files using Microsoft Internet Information Services (IIS).
When you set a Web reference to one of the PSI Web services in Microsoft Visual Studio 2005, the proxy namespace includes the PSI class with the Web methods and also includes the DataSet classes that the Web methods use. For example, when you set a reference to the Calendar Web service, you can see the Calendar and CalendarDataSet classes. For a list of PSI Web services and DataSet objects, see Namespaces in the PSI.
Two URLs for the PSI
You can determine a URL to the PSI Web services using one of two paths:
The local path uses the port number of the administration site for the SSP. If you are using Visual Studio 2005 installed on the Project Server computer, the automated discovery process for Web references in Visual Studio uses the local path in the source code for the PSI Web service proxy assembly. You should normally ignore the local path and use the virtual path.
The virtual path is the path under the virtual _vti_bin subsite in the default Web site for Project Server. When you use a remote installation of Visual Studio and browse for the PSI .asmx files, you would use the virtual path.
You should use the local path only to develop PSI applications or components that use impersonation or must run on the local Project Server computer. Applications that use the local path cannot run on separate Project Web Access servers in a multiserver installation.
For example, you could use the local path in an application that integrates with an external line-of-business (LOB) application for creating project proposals or updating timesheets. LOB integration components typically run without a user interface and run under a system account with elevated privileges on behalf of the user. For more information about impersonation, see Using Impersonation in Project Server.
For PSI-based applications that can run on separate Project Web Access servers or remote computers, or that need to run with the user's Project Server permissions, use the virtual path. In most cases, you should use the virtual path for PSI Web services and limit users to the Project Server features and data for which they have permission.
Local Path of the PSI Web Services
Figure 1 shows the .asmx files of the PSI Web services within Internet Information Services (IIS) Manager.
To find the local path and URL of the PSI .asmx files:
In Internet Information Services (IIS) Manager, expand the Office Server Web Services Web site and the default SSP virtual directory.
The default SSP name depends on the name you assign to the SSP Web site and application pool when you configure Office SharePoint Server 2007. You might need to refresh the view in IIS to see the default SSP virtual directory and the PSI subfolder.
Right-click Office Server Web Services for the properties, and then click the Home Directory tab to find the Local path. By default, the web.config file for all of the Office SharePoint Server 2007 shared Web services is located in the following directory:
[Program Files]\Microsoft Office Server\12.0\WebServices\Root
The PSI .asmx files are in the Shared subdirectory of WebServices:
[Program Files]\Microsoft Office Server\12.0\Web Services\Shared\PSI
On the Web Site tab in the Office Server Web Services Properties dialog box, you can see the TCP port value for the shared Web services. For the example in the next step, the port is 56737.
In Internet Information Services (IIS) Manager, open the PSI Properties dialog box of the PSI subdirectory in the default SSP virtual directory, and then click the Directory tab. For example, if the Local path is \DefaultSSP\PSI, for example, then the local URL of the Project Web service is the following (on the local server, you can use
localhostin place of
The port number of PSI Web services that you derive from the IIS properties may be different. You should use the virtual path derived from the Project Web Access Web site for most applications.
The Authentication, PWA, View, and WinProj Web services are for internal use only, and are not supported for third-party development. For more information, see Internal PSI Web Services.
Virtual Path of the PSI Web Services
The URL of the default Web site on the Project Server computer, for example
http://ServerName, is a Windows SharePoint Services 3.0 site. When you install and configure Project Server, you can create the URL of one or more Project Web Access sites, for example:
The virtual path of the PSI Web services derives from the name of the Project Web Access site. There can be multiple Project Web Access servers that are separate from the base Project Server computer. Each Project Web Access site uses the web.config file of the PSI virtual directory in the site. The web.config file sends requests to view the .asmx files to the PSI Forwarder and manages user authorization for the .asmx files. The PSI Forwarder, in turn, logs on to the base Project Server computer on behalf of the user and maintains a context object with the user ID, site ID, and other settings.
To find the virtual path and authorization settings for the PSI Web services:
In IIS, expand the Default Web Site and the _vti_bin virtual directory.
The actual files in the PSI subdirectory of _vti_bin are in the following directory:
[Program Files]\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI\PSI
Open the web.config file in a text editor to see the HTTP handler for the PSI Forwarder, and the user authorization for the PSI .asmx files.
The web.config file in the PSI subdirectory of the Web Server Extensions sets the HTTP handler for the PSI Forwarder, as follows (the add element and attributes are all on one line).
<httpHandlers> <add verb="*" path="*.asmx" type="Microsoft.Office.Project.Server.PSIForwarderHandlerFactory, Microsoft.Office.Project.Server.PWA, Version=184.108.40.206, Culture=neutral, PublicKeyToken=94de0004b6e3fcc5" </httpHandlers>
The web.config file also sets user authorization for each PSI Web service. For example, following is the authorization for the Admin Web service.
<location path="Admin.asmx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location>
Instead of using
ServerName:port in the URL of a PSI Web service, you should use a Project Web Access virtual path because Project Web Access calls the HTTP handler. For example, the following URL is the virtual path for the Project Web service.
You can use Internet Explorer to see a list of all of the Web methods in each PSI Web service. The Internet Explorer view does not include method descriptions because of multilanguage considerations. You can see the SOAP request and response for each Web method. To see the Web methods of the Admin Web service, for example, type either one of the following URLs in the Internet Explorer Address bar, where DefaultSSPName is the name given to the core SSP during installation of the Office Server Web Services site and ProjectServer is the name of the Project Web Access virtual directory.
We recommend that you use the URL virtual path derived from Project Web Access for PSI-based applications that do not need to run directly on the Project Server computer. You should only use the direct SSP URL for applications that must run on the server, for example for integration components for LOB applications.
Use the following URL in Internet Explorer to verify that you can use the formal Web Services Description Language (WSDL) definition that Visual Studio uses to build the Admin Web service proxy class.
Use the following URL to verify that Visual Studio can discover the Admin Web service from a remote computer.