プロジェクトPSIリファレンスの概要

Project Serverインターフェイス(PSI)は、社内のProject Server 2013と統合するアプリケーションを開発するために使用するAPIです。 この記事は、PSIで文書化されているアセンブリ、名前空間、およびサービスの概要です。 SDKのProject Server 2013クラスライブラリとWebサービス参照には、PSIのマネージコードドキュメントとProject Server 2013のMicrosoft.ProjectServer.Client名前空間がすべて含まれています。 Project Online用のアプリケーションを開発するには、PSIの代わりに Microsoft.ProjectServer.Client名前空間を使用する必要があります。

Project Server 2013のPSIにはデュアルインターフェイスがあります。 Web サービス用の ASMX インターフェイスは、https://ServerName/ProjectServerName/_vti_bin/psi/ 仮想ディレクトリ内の検出と Web サービス記述言語 (disco および WSDL) ファイル (たとえば、Projectdisco.aspx および Projectwsdl.aspx) によって定義されます。 ASMX インターフェイスにアクセスできるのは、オンプレミスでインストールする Project Web App (https://ServerName/ProjectServerName/_vti_bin/psi/project.asmx?wsdl) など) を経由した場合のみです。 Web サービスをブラウザーに表示するには、?wsdl URL オプションを含める必要があります。 ASMXインターフェイスはWindows Communication Foundation(WCF)インフラストラクチャを使用して構築されているため、Project Server Webサービス用の.asmxファイルは、実際には仮想PSIディレクトリに存在しません。

WCF サービス インターフェイスは、SharePoint Web サービス アプリケーションのバックエンド https://ServerName:32843/GUID/PSI/ 仮想ディレクトリ内の .svc ファイルで定義されます。 Project Service Application 仮想ディレクトリ (https://ServerName:32843/GUID/PSI/project.svc など) 内の PSI サービスの URL には、.svc ファイルが含まれます。 ただし、バックエンドURLを直接使用してWCFサービス参照を設定することはできません。 PSIのWCFサービスを使用するアプリケーションまたはコンポーネントを開発するには、プロキシアセンブリまたはプロキシファイルを使用できます。 Project 2013 SDKのダウンロードには、Project Server 2013のWCFサービス用のプロキシファイル、および更新されたWCFプロキシファイルを取得して直近のProject Serverビルド用のファイルをプロキシアセンブリにコンパイルするためのスクリプトが含まれています。

Project Serviceアプリケーションのディレクトリ名はGUID値で、これは設置型Project Web AppインスタンスのGUIDと同じです。 [インターネット インフォメーション サービス (IIS) マネージャー] ウィンドウで、[SharePoint Web サービス] 接続ポイントを展開し、GUID ディレクトリ名を選択し、[詳細設定] を選択して、[仮想パス] の値をコピーします。

重要

PSIのASMX WebサービスインターフェイスはProject Server 2013では非推奨ですが、引き続きサポートされています。 新しいアプリケーションは、PSIまたはCSOMのWCFインターフェイスを使用する必要があります。 廃止予定の機能の詳細については、「Project 2013 における開発者向け更新プログラム」を参照してください。

新しいアプリケーション、および手動設置式Project Serverでのみ実行されるミドルウェアコンポーネントは、WCFインターフェイスを使用する必要があります。これはネットワーク通信に推奨されるテクノロジです。 ASMXインターフェイスを使用するレガシアプリケーションは、Project Web Appを通じてURLを使用する必要があります。これにより、Project Serverのアクセス許可が確認されます。

ASMXインターフェースおよびWCFインターフェースの使用方法について詳しくは、[プロジェクトにおけるASMXベースのコードサンプルの前提条件およびプロジェクトにおけるWCFベースのコードサンプルの前提条件を参照してください。

WCFインターフェイスを使用するアプリケーションを開発する際は、Visual Studio 2010またはVisual Studio 2012を使用できます。 宣言型Project Serverワークフローを作成するために、SharePoint Designer 2013を使用できます。 PSIまたはCSOMへのアクセスを必要とするProject Serverワークフローは、Visual Studio 2012を使用して開発できます。

PSI リファレンスの使用

PSIオブジェクトモデルは大きく、多くのクラスとメンバは内部使用専用です。 その結果、Project Server 2013クラスライブラリとWebサービスリファレンスの中で必要なトピックをうまく見つけられない場合があります。 開発に使用する参照用のトピックのほとんどは、以下のグループにあります。

  • 基本クラス・メソッド: PSI内の各サービスには、そのサービスの名前で命名された基本クラスが含まれています。 例えば、Resourceサービスには、WebSvcResource名前空間にあるResourceクラスが含まれています。 Resource クラスで使用できるメソッドの一覧を表示するには、コンテンツ ペインのクラス ノードを展開し、[リソース メソッド] トピックをクリックします。
  • DataRowプロパティー:多くの基本クラスメソッドは、DataSetを使用、または返します。 DataSetの各DataTable オブジェクトには、1つ以上のDataRowオブジェクトのデータが含まれています。 ほとんどの場合、見る必要があるのは行のプロパティだけであり、DataSetDataTable、または DataRow クラスの他のすべてのメンバーを見る必要はありません。 例えば、ResourceAssignmentDataSetクラスには、ResourceAssignmentDataTableおよびResourceAssignmentDataSet.ResourceAssignmentRowクラスのサブクラスが含まれています。 ResourceAssignmentRow クラスのプロパティの一覧を表示するには、コンテンツ ペインでクラス ノードを展開し、[ResourceAssignmentDataSet.ResourceAssignmentRow のプロパティ] トピックをクリックします。

サービスの名前空間に加えて、Project Server 2013クラスライブラリとWebサービスリファレンスのトピックは、手動設置用のサードパーティソリューションの開発に使用される3つのProject Serverアセンブリにリンクしています。 これらのアセンブリについては、最小限のドキュメントだけが提供されています。 さらに、PSI リファレンスでは、23 のパブリック サービスの主なクラスとメンバーが説明されています。 6 つの PSI サービスは内部使用専用であり、文書化されていません。

注:

クライアントサイドオブジェクトモデル(CSOM)のクラスは、他のProject Serverアセンブリおよびサービスとは独立して使用できます。 Project Serverコンピューターから、リモート開発環境でMicrosoft.ProjectServer.Client名前空間を使用して、Project Onlineまたは手動設置式のProject Serverと統合するアプリケーションを開発できます。 ただし、CSOM に含まれるのは完全な PSI の機能のサブセットです。 CSOM を使用すると、Project Server 統合の最も一般的なシナリオを開発できます。 詳細については、「CSOM が実行する操作と実行しない操作」および「Microsoft.ProjectServer.Client」を参照してください。

PSI を使用するほとんどのアプリケーションの開発は、Project Server コンピューターで行わなくてもよく、グローバル アセンブリ キャッシュで Project Server アセンブリへの参照を設定する必要はありません。 必要な Project Server アセンブリを開発コンピューターにコピーできます。 Project Server 2013 では 、[プログラム ファイル]\Microsoft Office Servers\15.0\Bin に次のアセンブリがインストールされます。

  • Microsoft.Office.Project.Server.Events.Receivers.dll
  • Microsoft.Office.Project.Server.Library.dll
  • Microsoft.Office.Project.Server.Workflow.dll

PSIサービスの名前空間には、PSIプロキシアセンブリProjectServerServices.dll用に作成された任意の名前があります。これは、文書化の目的で生成されたものです。 PSI リファレンスでは、各サービス名前空間にはプレースホルダー名 ([Project web service] など) と Web リファレンス (https://ServerName/ProjectServerName/_vti_bin/psi/Project.asmx?wsdl など) があります。

Project Serverのアセンブリと名前空間

Project Serverをインストールすると、多くのアセンブリがインストールされます。文書化されているのは4つのProject Serverアセンブリのみです。 サードパーティの開発者は通常、これらのアセンブリでは少数のクラスとメンバのみを使用します。 文書化されていないProject Serverアセンブリには、Project Web Appのクラス、事業名、データアクセス層(DAL)など、Project Serverが内部で使用する名前空間とクラスが含まれています。 文書化されているいずれかのProject ServerアセンブリにVisual Studioで参照を設定すると、Visual Studioのオブジェクトブラウザですべての名前空間、クラス、およびメンバを表示できます。

注:

文書化されたProject Server名前空間の多くのメンバは内部でのみ使用され、文書化は最小限です。

Project Online用に開発する場合は、CSOMのみを使用してProject Serverの機能にアクセスできます。 PSIサービスまたは他のProject Serverアセンブリにアクセスすることはできません。

PSIの Project Server 2013クラスライブラリとWebサービス参照には、次のアセンブリの名前空間が含まれています。

  • Microsoft.Office.Project.Server.Library.dllこのアセンブリには、次のように、1つの文書化された名前空間と3つの文書化されていない名前空間が含まれています。

  • Microsoft.Office.Project.Server.Library名前空間には、多数の列挙型、Project Serverの設置型アプリケーションで頻繁に使用されるクラスフィールドおよびプロパティが含まれています。 例えば、開発者はよくCustomField.TypePSClientErrorPSErrorInfoFilterクラスなどの列挙型を使用します。

Microsoft.Office.Project.Server.Library名前空間には、3,200を超えるサブクラスを含む次の7つのプロパティクラスも含まれています。

  • AssignmentProperties
  • CalendarProperties
  • ConstraintProperties
  • LookupTableProperties
  • ProjectProperties
  • ResourceProperties
  • TaskProperties

プロパティクラスは内部的に使用され、文書化されていません。 プロパティクラスは、Project Professional 2013とProject Serverの間の直列化に使用されます。 Visual StudioでMicrosoft.Office.Project.Server.Library名前空間を操作すると、オブジェクトブラウザにすべてのプロパティクラスが表示されるため、他社環境での開発で有用なクラスを見つけるのがより難しくなってしまいます。 サードパーティーの開発者はプロパティクラスを使用する必要がないため、SDKではそれらを文書化していません。

  • Microsoft.Office.Project.Server.DataServicesこの名前空間のクラスとメンバは、Project OnlineのODataサービスによって内部的に使用され、Projectデータベースのレポートテーブルにアクセスします。 DataServicesクラスは文書化されていません。

  • Microsoft.Office.Project.Server.Administrationこの名前空間のクラスとメンバーは診断ログのために内部で使用されているため、文書化されていません。

  • Microsoft.Office.Project.Server.Baseこの名前空間のクラスとメンバは、基本クラスとして内部的に使用されており、文書化されていません。

  • Microsoft.Office.Project.Server.Library.FilterSchemaこの名前空間は、フィルター図式を生成するために内部的に使用されているため、文書化されていません。

  • Microsoft.Office.Project.Server.Workflow.dllこのアセンブリは、Project Server 2013で引き続き機能する旧Project Server 2010ワークフローに使用されます。 新しいワークフローを作成するには、SharePoint Designer 2013を使用するか、Microsoft.ProjectServer.Client.WorkflowActivitiesクラスと共にVisual Studio 2012を使用することもできます。 Microsoft.Office.Project.Server.Workflow.dllアセンブリには、次の3つの名前空間が含まれています。

  • Microsoft.Office.Project.Server.Workflowこの名前空間には、Project Serverのワークフローアクティビティに使用されるクラスが含まれています。 アクティビティには、プロジェクトプロパティの読み取り、比較、および更新が含まれます。 他のクラスは作業手順を管理し、プロジェクトが変更されたときのワークフローコールバックも行います。

  • Microsoft.Office.Project.PWAこの名前空間には、Project Web Appおよびカスタムワークフローアクティビティで使用するためのPSIの内部プロキシが含まれています。これは文書化されていません。

    カスタムワークフローアクティビティでは、PSIサービス内のすべてのクラスにアクセスするためにMicrosoft.Office.Project.PWAへの参照が必要です。 例えば、Microsoft.Office.Project.PWA.PSIクラスにはProjectWebServiceプロパティーが含まれ、これはWebSvcProject名前空間のプロキシーを取得します。

  • Microsoft.Office.Project.Server.WebServiceProxyこの名前空間には、各PSIサービスの基準クラスの内部プロキシクラスが含まれています。 ワークフローユーザーの昇格権限を使用することで、ワークフローはプロキシクラスを通じてPSIメソッドを呼び出すことができます。 プロキシクラスは文書化されていません。

  • Microsoft.Office.Project.Server.Events.Receivers.dllMicrosoft.Office.Project.Server.Eventsは、このアセンブリの唯一の名前空間です。 ここにはPSIサービスと他の内部クラスのためのイベント受信子とイベント引数クラスが含まれています。

開発者は、イベント レシーバーのクラスを継承するイベント ハンドラーを作成します。 PSI サービスのプライマリ クラスの多くには、対応するイベント レシーバー クラスがあります。 たとえば、ProjectEventReceiverクラスには、PSIのProjectクラスのメソッドに対応する前置イベントおよび後置イベントのレシーバメソッドが含まれています。 OnCreatingメソッドおよびOnCreatedメソッドは、QueueCreateProjectメソッドの前置イベントおよび後置イベントの受信メソッドです。

開発者はよく、次のイベントレシーバークラスを使用します。

RulesEventReceiverクラスと StatusReportsEventReceiver クラスは、Project Web Appの内部で使用されます。

  • Microsoft.ProjectServer.Client.dllこのアセンブリには、.NET Framework 4で開発するためのCSOMが含まれています。 アセンブリは %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll に位置しています。 Microsoft.ProjectServer.Client 名前空間でのアプリの開発は社内設置型の Project Server API およびサービスとは独立していますが、アプリは Project Server の社内設置型インストールまたはオンライン インストールのどちらでも動作できます。 Windows Phone 8、Microsoft Silverlight、または Web アプリを備えた JavaScript に使用できる関連 CSOM アセンブリについては、「Microsoft.ProjectServer.Client」を参照してください。

  • Microsoft.Office.Project.Server.Schema.dll Project 2013 SDKでは、[Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c\Microsoft.Office.Project.Schema.dll アセンブリ内にある Microsoft.Office.Project.Server.Schema 名前空間は文書化されていません。 この名前空間には、PSI で使用されるすべての DataSetDataTableDataRow クラスの定義に加えて、Project Server 内部で使用されるその他の多くの類似クラスの定義が含まれます。 各PSIサービスのパブリッククラスは、特定のサービスリファレンスに記載されています。 例えば、DriverDataSet.DriverRowクラスは、WebSvcDriver名前空間に記載されています。

注:

CSOMを使用するアプリケーション、リモートイベントハンドラを使用するアプリケーション、またはProject Onlineにアクセスするアプリケーションは、Microsoft.Office.Project.Server.Schema名前空間を使用しません。

イベント ハンドラーが Project Server コンピューターにインストールされる完全信頼イベント ハンドラーを使用する一部のアプリケーションでは、Microsoft.Office.Project.Schema.dll アセンブリへの参照を設定する必要があります。 次に、2 つの例を示します。

  • ユーザー設定フィールド用の完全信頼 OnCreated ポストイベント ハンドラーでは、e.CustomFieldInformation イベント引数を、CustomFieldDataSet および CustomFieldsRow の定義に対する Microsoft.Office.Project.Server.Schema 名前空間への参照と共に使用できます。
  using PSLibrary = Microsoft.Office.Project.Server.Library;
  using Microsoft.Office.Project.Server.Schema;
  . . .
  // Event handler for the OnCreated event of a custom field.
  public override void OnCreated(
      PSLibrary.PSContextInfo contextInfo, 
      CustomFieldsPostEventArgs e)
  {
      // Get information from the event arguments. 
      string userName = contextInfo.UserName.ToString();
      CustomFieldDataSet customFieldDs = e.CustomFieldInformation;
      CustomFieldsRow customFieldRow = customFieldDs.CustomFields.Rows[0];
      string customFieldName = customFieldRow["MD_PROP_NAME"].ToString();
      byte customFieldType = (byte)customFieldRow["MD_PROP_TYPE_ENUM"];
      Guid customFieldUid = (Guid)customFieldRow["MD_PROP_UID"];
      . . .
  }
  • カスタムワークフローアクティビティでは、DataSet定義に対してMicrosoft.Office.Project.Server.Schemaへの参照が必要になる場合があります。

PSI サービス

PSIは、WCFサービスの集まりで、Project Server 2013用のASMX Webサービスと同一のものです。 Visual Studio プロジェクトでサービスを使用するには、nameservice に任意の名前を使用して、.svc ファイルまたは .asmx?wsdl サービスの URL へのリファレンスを設定します。 wsdl.exe ユーティリティまたは svcutil.exe ユーティリティによってその名前空間のプロキシ ソース コードが生成され、コンパイラによりアプリケーションに含めるプロキシ サービス アセンブリが作成されます。

注:

PSI リファレンスには、PSI サービスに対するプレースホルダー nameservice 名が含まれます ([Admin Web サービス][Driver Web サービス][Project Web サービス] など)。 各PSIネームサービスには、そのサービスのWebメソッドを含む基準クラスが含まれています。 たとえば、Admin サービスへの参照を設定し、それに WebSvcAdmin という名前を付けた場合、アプリケーションの WebSvcAdmin nameservice には、プライマリ クラス Admin とその GetServerCurrencyListInstalledLanguagesReadServerVersion などの Web メソッドが含まれます。 非推奨のPSIサービスのリストについては、 Project 2013における開発者向け更新を参照してください。

合計30のPSIサービスのうち、認証ExchangeSyncODataP12アップグレードpsiserviceappPWA表示、およびWinProjは、Project Web AppおよびProject Professionalによって内部的に使用されるものであり、文書化されていません。 PSI内部サービスを含むプロキシファイルまたはプロキシアセンブリを作成することはできますが、その内部サービスは他社環境による使用には適していません。 PSIリファレンスはそれらのサービスを文書化していません。 次の図は、インターネットインフォメーションサービスマネージャのバックエンドPSIサービスの場所を示しています。

IIS に PSI サービスを設置する

IIS Manager の PSI サービス IIS Manager

以下は、PSIサービス内のWebメソッドを含むすべてのクラスです。

  • Adminには、Project Web AppのProject Server Administrationページで使用されるメソッドが含まれています。 会計年度を定義し、ステータスと通貨設定、記録期間、監査ログ、およびActive Directoryの設定を管理します。
  • アーカイブには、プロジェクトのバックアップと復元、セキュリティの分類、カスタムフィールド、リソース、システム設定、ビュー、および事業の総括プロジェクトの管理方法が含まれます。 保管スケジュールを読み込んで更新します。 すべてのプロジェクトをアーカイブするか、指定されたアーカイブ済みプロジェクトを削除します。 バックアップオブジェクトを保管データベーステーブルに保存し、バックアップしたオブジェクトを発行済データベーステーブルに復元します。
  • 認証には、Project ProfessionalおよびProject Web Appのみによる内部使用のためのメソッドが含まれています。
  • カレンダー事業カレンダーの例外を管理します。 リソースカレンダーをチェックアウトおよびチェックインします。 カレンダーの例外を作成、削除、一覧表示、更新、または戻します。
  • CubeAdmin OLAPキューブ設定を管理します。 分析サーバー、データベースの状態、およびキューブのリストを取得します。 Cube Build Service 要求をキューに配置します。 キューブのディメンションおよびメジャーに関する計算済みのメンバー定義とフィールド設定を読み取り、更新します。
  • CustomFields事業用カスタムフィールドを管理します。 チェックアウトおよびチェックイン方法、および事業用カスタムフィールドの作成、読み取り、更新、および削除(CRUD)メソッドが含まれます。
  • ドライバープロジェクト作成および需要管理のためのポートフォリオ分析ドライバーおよびドライバーの優先順位付けを管理します。 プロジェクトドライバー用のCRUDメソッドが含まれます。
  • イベント Project Serverイベントハンドラの関連付けを管理します。 特定のイベント、またはすべてのイベントハンドラの関連付けに対するProject Serverのイベントハンドラの関連付けに対するCRUDメソッドが含まれます。
  • ExchangeSyncこれは、Exchange Serverイベントを処理する内部Project Serverサービスです。 Project Web Appは、Office Project Server 2007のようにOutlookクライアントと直接同期するのではなく、ExchangeSyncを使用してProject ServerとExchange Serverの間の割り当てを同期します。 ExchangeSyncサービスへのアクセスは、ProjectServiceApplication URLを通じてのみ可能です。 ExchangeSyncのクラスとメンバは、他社環境での開発ではサポートされていません。
  • LoginFormsフォームベース認証でLoginおよびLogoffメソッドを提供します。 LoginFormsサービスへのアクセスは、フロントエンドのProject Web Appサイトでのみ利用可能です。
  • LoginWindows複数認証(要求およびフォームベース)Project Server 2013の環境において、ASMXベースのアプリケーションを使ったWindows認証に使用されるLoginおよびLogoffメソッドを提供します。 LoginWindowsサービスへのアクセスは、フロントエンドのProject Web Appサイトでのみ可能です。

注意

LoginWindowsサービスは、WCFベースのアプリケーション、または要求認証のみを使用するProject Server環境で実行されるアプリケーション、またはOAuthでは使用されません。そのような場合、Loginメソッドは常にfalseを返します。 要求認証は、統合Windows認証を扱います。

  • LookupTable参照テーブル、多言語参照テーブル、およびそれらに対応するコード定義を管理します。 チェックアウト、チェックイン、読み取り、作成、削除、および更新。

  • 通知アラートとリマインダーを管理します。 アラート結果を取得、設定、登録、および登録解除するメソッドが含まれています。

  • ObjectLinkProvider SharePointサイト上のドキュメントおよび一覧アイテムのWebオブジェクトおよびリンクを管理します。 プロジェクト、プロジェクトリンク、タスク、またはタスク関連Webオブジェクトを作成、削除、または読み取り。

    注:

    ObjectLinkProviderサービスは、Project Server 2013では推奨されていません。 詳細については、Project 2013 における開発者向け更新プログラム非推奨機能の部分を参照してください。

  • OData記録テーブルおよびビューの内部ODataインターフェースを提供します。 ODataサービスへのアクセスは、バックエンドのProjectServiceApplication URLを通じてのみ可能です。 PSIの個別ODataサービスは、ODataClient.ProcessOdataMessageという1つのメソッドを提供します。これは、Project Serverがデータ記録を処理するために内部で使用するメソッドです。 HTTP要求はフロントエンドProjectDataサービスを通過します。 記録データを読み取るためのProjectDataサービスおよびODataプロトコルについては、ProjectData - Project ODataサービスの参照をご覧ください。

  • P12Upgrade Project Server 2013インストーラーがOffice Project Server 2007の環境をアップグレードするための内部メソッドを提供します。 P12Upgradeサービスへのアクセスは、ProjectServiceApplication URLを通じてのみ可能です。 P12Upgradeメソッドは、他社環境での開発ではサポートされていません。

  • PortfolioAnalysesプロジェクトの依存関係、およびオプティマイザー、プランナー、および分析方法のためのCRUDメソッドが含まれています。

  • Projectプロジェクトを管理します。 プロジェクトデータベースの仮テーブルまたは発行済テーブル内のプロジェクトをチェックアウト、チェックイン、作成、削除、読み取り、または更新します。 発行待ち状態にメッセージを入れます。

    • プロジェクト内の命名(タスク、リソース、割り当てなど)を作成または削除します。 プロジェクトチームまたはプロジェクトサイトのアドレスに関する情報を取得または更新します。 プロジェクトの状態、下書きテーブル内のプロジェクトのリスト、すべてのサマリー タスク、指定されたリソースに割り当てることができるタスク、またはリソースに割り当てがあるすべてのプロジェクトを取得します。
    • コミットメントを作成および管理したり、SharePoint タスク リストからプロジェクトの提案とプロジェクトを作成したり、プロジェクト/マスター プロジェクトの関係を検索したりします。
  • psiserviceapp Project Onlineによって内部的に使用されます。 psiserviceappのクラスとメンバは、他社環境での開発ではサポートされていません。

  • PWA Project Web App用に最適化された多くのメソッドが含まれています。これには、タスク更新の承認規則やステータスレポートの管理方法などが含まれます。 PWAメソッドは多くの場合特殊化されており、他のPSIサービスの同等のメソッドと比べてやや冗長です。 PWAメソッドは、他のPSIメソッドと同じデータセットを多数使用するか返します。 PWAサービスへのアクセスは、ProjectServiceApplication URLを通じてのみ可能です。 PWAのクラスとメンバーは、他社環境での開発ではサポートされていません。

  • QueueSystem Project Serverのキューを管理します。 ジョブ数、ジョブやジョブ グループの待ち時間、すべてのジョブの進捗状況、指定されたジョブ、呼び出し元が所有するジョブ、または指定されたプロジェクトのジョブを取得します。 ジョブの相互関係を管理し、キューを構成します。

  • Resource業務用リソースを管理します。 リソースまたはProject Serverユーザーとその認証設定をチェックアウト、チェックイン、更新、または作成。これは名前またはGUIDでリソースを見つけます。リソースまたはユーザーデータ、およびリソース細分化構造(RBS)と関連するセキュリティ情報の読み取り。これはリソースに対するすべての割り当てを取得し、またユーザーパスワードをリセットします。 Resourceクラスには、ユーザー委任用のCRUDメソッドが含まれています。

  • ResourcePlanリソースプランを管理します。 リソースプランのチェックアウト、チェックイン、発行、およびCRUDメソッドの追加をします。

  • Securityセキュリティテンプレート、セキュリティカテゴリ、組織および総括権限、およびグループの権限に対するCRUDメソッドを含みます。 Securityクラスにはプロジェクトカテゴリのメソッドが含まれています。

  • Statusing状況の更新および割り当てを管理します。 割り当てを作成、取得、または代理します。 割り当ての動作期間を設定します。 現在のユーザーの新しい割り当てを取得したり、割り当てやタスクのトランザクション履歴、時間配分された実績作業時間、サマリー タスク階層を取得したりします。 タイムシート データをプレビューまたはインポートしたり、ユーザーの稼働日および非稼働日のスケジュールを読み取ったりします。 承認待ちの進捗状況の更新、提出された更新の情報、または提出された更新に含まれる変更のトランザクション レコードを検索します。 チームの状態を読み取ります。

  • TimeSheetタイムシートを管理します。 遅れている、または承認待ちのタイムシートを検索します。 日付または期間でタイムシートを検索します。 タイムシート承認者のリストを取得します。 実績をプリロードし、タイムシート行を検証します。 TimeSheet クラスには、偽装を必要としないで別のリソースのタイムシートを読み取ったり送信したりするための ReadProjectTimesheetLines メソッドおよび SubmitTimesheetLines メソッドが含まれます。

    • ViewViewサービスは、Project Web App内でのみ使用するように設計されています。 View クラスのメソッドは、ビューを管理し、レポートを表示し、ビュー内のフィールドを読み取ります。 Viewサービスへのアクセスは、ProjectServiceApplication URLを通じてのみ可能です。 Viewメソッドは、他社製環境での開発ではサポートされていません。
    • WinProjWinProjサービスは、Project Professional専用のサービスです。 他社環境での開発者は、Project ServerでのプログラミングにWinProjメソッドを使用しないでください。
      • 一部の WinProj メソッドは、Project および Resource サービスでも使用される、ProjectRelationsDataSetResourceDataSet のようなデータセットを使用しますが、Project Professional の特定のプロパティと機能を必要とします。
      • WinProj サービスへのアクセスは、ProjectServiceApplication URL を使用してだけ行えます。 WinProj メソッドは、サードパーティの開発用にはサポートされていません。
  • Workflow業務プロジェクトタイプ、および作業のフェーズとステージを管理するためのCRUDメソッドが含まれています。 ワークフローを実行し、ステータス情報を設定し、需要管理ワークフローのプロジェクト詳細ページ(PDP)ステージを管理します。 Project Serverワークフローを構築するには、開発者は宣言型ワークフローにSharePoint Designer 2013を使用するか、.NET Framework 4での開発用にOffice Developer Tools for Visual Studio 2012を用い、CSOM内のMicrosoft.ProjectServer.Client.WorkflowActivities classクラスを使用できます。

  • WssInteropプロジェクトサイトを管理します。 プロジェクトサイトを作成および削除します。 SharePoint設定と管理サイトに関する情報を取得して更新します。 プロジェクトサイトのメンバーシップとグループを同期して更新します。

各サービスの名前空間には、サービスが使用するすべてのDataSetスキーマとイベントハンドラクラスが含まれています。 たとえば、Calendar.svc (または ASMX Web サービスの場合は Calendar.asmx?wsdl) は、カレンダー サービスが記述されています。 リファレンスにWebSvcCalendarという名前を付けると、プロキシ名前空間には、メソッドCheckInCalendarsCheckOutCalendarsなどを持つプライマリCalendarクラスが含まれます。 WebSvcCalendarプロキシ名前空間には、CalendarDataSetクラスとそのすべてのサブクラスも含まれています。

一部のPSIサービスには、重複したDataSetクラスが含まれています。 例えば、ProjectサービスとStatusingサービスはどちらもProjectDataSetクラスを含みます。 これは、Project サービスと Statusing サービスの両方のメソッドに ProjectDataSet への参照が含まれ、参照を設定してアプリケーションをコンパイルすると作成されるプロキシ アセンブリに関連するデータセットが含まれるためです。 ProjectサービスおよびStatusingサービスでは、ProjectDataSet.ProjectRowクラスのさまざまなフィールドに値を指定できます。

PSI リファレンスの名前空間とクラスをナビゲートするときは (たとえば、Project サービスの Web メソッドを参照するとき)、[コンテンツ] リストで [Project Web サービス] 名前空間を展開した後、Project クラスを展開します。

関連項目