次の方法で共有


Project.ReadProjectList メソッド

プロジェクトの名前、GUID、および各Project Web Appインスタンス上で利用できるプロジェクトの種類を取得します。

名前空間:  WebSvcProject
アセンブリ:  ProjectServerServices (ProjectServerServices.dll 内)

構文

'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Project/ReadProjectList", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Project/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Project/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function ReadProjectList As ProjectDataSet
'使用
Dim instance As Project
Dim returnValue As ProjectDataSet

returnValue = instance.ReadProjectList()
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Project/ReadProjectList", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Project/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Project/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public ProjectDataSet ReadProjectList()

戻り値

型: WebSvcProject.ProjectDataSet
ProjectDataSetスキーマに次のフィールドでのProjectテーブルのみが含まれています: PROJ_UID、 PROJ_NAME、およびPROJ_TYPE。

注釈

ReadProjectStatusは、Project Server のユーザーに表示されるプロジェクトの一覧を取得することができます。すべてのプロジェクトの一覧を取得、ためReadProjectListは管理ユーティリティを使用するため、高レベルのアクセス許可を必要とします。

ReadProjectListを実行する前に有効なユーザーの資格情報を持つには、Project Server インスタンスをアプリケーションにログオンしなければなりません。

プロジェクトのリストにアクセスするのに、 ProjectDataSetProjectプロパティを使用します。

プロジェクト サーバーのアクセス許可

権限

説明

ManageQueue

キュー サービスを管理することができます。グローバル アクセス権。

ManageSecurity

セキュリティ設定を管理することができます。グローバル アクセス権。

次の例では、サンプル プロジェクトを作成し、あるプロジェクトが表示されます。

このコード サンプルを実行する重要な情報は、 Project 2013 での ASMX ベースのコード サンプルの前提条件を参照してください。

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Web.Services.Protocols;
using System.Data;
using System.Threading;
using PSLibrary = Microsoft.Office.Project.Server.Library;

namespace Microsoft.SDK.Project.Samples.ReadProjectList
{
   class Program
   {
      [STAThread]
      static void Main()
      {
         try
         {
            const string PROJECT_SERVER_URI = "https://ServerName/ProjectServerName/";
            const string PROJECT_SERVICE_PATH = "_vti_bin/psi/project.asmx";
          
            // Set up the web service objects.
            SvcProject.Project projectSvc = new SvcProject.Project();

            projectSvc.Url = PROJECT_SERVER_URI + PROJECT_SERVICE_PATH;
            projectSvc.Credentials = CredentialCache.DefaultCredentials;

            // Read and display the project list.
            Console.WriteLine("Reading the project list");

            SvcProject.ProjectDataSet projectDs = projectSvc.ReadProjectList();
            foreach (SvcProject.ProjectDataSet.ProjectRow projectRow in projectDs.Project)
            {
               Console.WriteLine(projectRow.PROJ_NAME + " (" + projectRow.PROJ_UID + ")");
            }

         }
         catch (SoapException ex)
         {
            PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
            PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
            string errMess = "==============================\r\nError: \r\n";
            for (int i = 0; i < errors.Length; i++)
            {
               errMess += "\n" + ex.Message.ToString() + "\r\n";
               errMess += "".PadRight(30, '=') + "\r\nPSCLientError Output:\r\n \r\n";
               errMess += errors[i].ErrId.ToString() + "\n";

               for (int j = 0; j < errors[i].ErrorAttributes.Length; j++)
               {
                  errMess += "\r\n\t" + errors[i].ErrorAttributeNames()[j] + ": " + errors[i].ErrorAttributes[j];
               }
               errMess += "\r\n".PadRight(30, '=');
            }
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(errMess);
         }
         catch (WebException ex)
         {
            string errMess = ex.Message.ToString() +
               "\n\nLog on, or check the Project Server Queuing Service";
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Error: " + errMess);
         }
         catch (Exception ex)
         {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Error: " + ex.Message);
         }
         finally
         {
            Console.ResetColor();
            Console.WriteLine("\r\n\r\nPress any key...");
            Console.ReadKey();
         }
      }
   }
}

関連項目

参照先

Project クラス

Project メンバー

WebSvcProject 名前空間