Freigeben über


Project-PSI-Referenz – Übersicht

Die Project Server Interface (PSI) ist die API, die zum Entwickeln von Anwendungen verwendet wird, die in der lokalen Version von Project Server 2013 integriert sind. Dieser Artikel bietet eine Übersicht über die dokumentierten Assemblys, Namespaces und Dienste in der PSI. Die Project Server 2013-Klassenbibliotheks- und -Webdienstreferenz im SDK enthält die gesamte Dokumentation mit verwaltetem Code für die PSI und den Microsoft.ProjectServer.Client-Namespace in Project Server 2013. Zum Entwickeln von Anwendungen für Project Online müssen Sie anstelle der PSI den Microsoft.ProjectServer.Client-Namespace verwenden.

Die PSI in Project Server 2013 verfügt über eine duale Schnittstelle. Die ASMX-Schnittstelle für Webdienste wird durchDiscovery- und Web Service Description Language-Dateien (disco und WSDL) im virtuellen Verzeichnis https://ServerName/ProjectServerName/_vti_bin/psi/ (beispielsweise „Projectdisco.aspx“ und „Projectwsdl.aspx“) definiert. Sie können nur über die URL einer lokalen Installation der Project Web App auf die ASMX-Schnittstelle zugreifen (z. B. https://ServerName/ProjectServerName/_vti_bin/psi/project.asmx?wsdl)). Zum Anzeigen des Webdiensts in einen Browser müssen Sie die ?wsdl-URL-Option einbeziehen. Da die ASMX-Schnittstelle mithilfe der Windows Communication Foundation(WCF)-Infrastruktur erstellt wird, sind die ASMX-Dateien für die Project Server-Webdienste nicht wirklich im virtuellen PSI-Verzeichnis vorhanden.

Die WCF-Dienstschnittstelle wird durch SVC-Dateien im virtuellen Back-End-Verzeichnis https://ServerName:32843/GUID/PSI/ in der SharePoint-Webdiensteanwendung definiert. Die URL der PSI-Dienste im virtuellen Project-Dienstanwendungsverzeichnis (z. B. https://ServerName:32843/GUID/PSI/project.svc) enthält die SVC-Dateien. Sie können die Back-End-URL jedoch nicht direkt zum Festlegen eines WCF-Dienstverweises verwenden. Zum Entwickeln einer Anwendung oder Komponente, die die WCF-Dienste der PSI verwendet, können Sie eine Proxyassembly oder eine Proxydatei verwenden. Der Project 2013-SDK-Download umfasst Proxydateien für die WCF-Dienste in Project Server 2013 und Skripts zum Abrufen aktualisierter WCF-Proxydateien und zum Kompilieren der Dateien in eine Proxyassembly für neuere Project Server-Builds.

Der Verzeichnisname des Project-Anwendungsdiensts ist ein GUID-Wert, der mit der GUID der lokalen Project Web App-Instanz identisch ist. Erweitern Sie im Fenster Internetinformationsdienste-Manager den Knoten SharePoint-Webdienste. Wählen Sie den GUID-Verzeichnisnamen und dann Erweiterte Einstellungen zum Kopieren des Werts Virtueller Pfad aus.

Wichtig

Die ASMX-Webdienstschnittstelle der PSI ist in Project Server 2013 zwar veraltet, wird aber weiterhin unterstützt. Neue Anwendungen sollten die WCF-Schnittstelle der PSI oder CSOM verwenden. Weitere Informationen zu veralteten Features finden Sie unter Updates für Entwickler in Project 2013.

Neue Anwendungen und Middleware-Komponenten, die nur auf einer lokalen Installation von Project Server ausgeführt werden, sollten die WCF-Schnittstelle verwenden, da es sich dabei um die von uns empfohlene Technologie für Netzwerkkommunikationen handelt. Legacy-Anwendungen, die die ASMX-Schnittstelle verwenden, müssen die URL über Project Web App verwenden, welche Project Server-Berechtigungen überprüft.

Weitere Informationen über die ASMX-Schnittstelle und über die Verwendung der WCF-Schnittstelle finden Sie unter Voraussetzungen für ASMX-basierte Codebeispiele in Project und Voraussetzungen für WCF-basierte Codebeispiele in Project.

Für die Entwicklung von Anwendungen, die die WCF-Schnittstelle verwenden, können Sie Visual Studio 2010 oder Visual Studio 2012 verwenden. Zum Erstellen deklarativer Project Server-Workflows können Sie SharePoint Designer 2013 verwenden. Project Server-Workflows, die auf die PSI oder das CSOM zugreifen können müssen, können mit Visual Studio 2012 entwickelt werden.

Verwenden der PSI-Referenz

Das PSI-Objektmodell ist groß und viele Klassen und Mitglieder sind nur zur internen Verwendung. Daher kann es verwirrend sein, die gewünschten Themen in der Project Server 2013-Klassenbibliotheks- und -Webdienstreferenz zu finden. Die meisten Referenzthemen, die Sie für die Entwicklung verwenden, sind in den folgenden Gruppen:

  • Primäre Klassenmethoden: Jeder Dienst in der PSI enthält eine primäre Klasse, die nach dem Namen des Diensts benannt ist. Beispielsweise enthält der Dienst Resource die Klasse Resource, die sich im WebSvcResource-Namespace befindet. Erweitern Sie zum Anzeigen einer Liste der in der Klasse Resource verfügbaren Methoden den Klassenknoten im Inhaltsbereich, und wählen Sie dann das Thema Resource Methods aus.
  • DataRow-Eigenschaften: Viele der primären Klassenmethoden verwenden ein DataSet oder geben eins zurück. Jedes DataTable-Objekt in einem DataSet enthält Daten in einem oder mehreren DataRow-Objekten. In den meisten Fällen müssen Sie nur die Zeileneigenschaften anzeigen können und nicht alle Member der DataSet-, DataTable- oder DataRow-Klassen. Beispielsweise enthält die ResourceAssignmentDataSet-Klasse Unterklassen für die Klasse ResourceAssignmentDataTable und die Klasse ResourceAssignmentDataSet.ResourceAssignmentRow. Erweitern Sie zum Anzeigen einer Liste von Eigenschaften, die sich in der Klasse ResourceAssignmentRow befinden, den Klassenknoten im Inhaltsbereich, und wählen Sie dann das Thema ResourceAssignmentDataSet.ResourceAssignmentRow Properties aus.

Das Thema Project Server 2013-Klassenbibliotheks- und -Webdienstreferenz verweist neben den Dienstnamespaces auf die drei Project Server-Assembly, die in der Entwicklung von Drittanbieterlösungen für lokale Installationen verwendet werden. Für diese Assemblys stellen wir nur eine minimale Dokumentation bereit. Die PSI-Referenz dokumentiert die Hauptklassen und Member in den 23 öffentlichen Diensten. Sechs PSI-Dienste dienen nur für interne Zwecke und sind nicht dokumentiert.

Hinweis

Kurse im clientseitigen Objektmodell (CSOM) können unabhängig von den anderen Project Server-Assemblys und -Diensten verwendet werden. Sie können den Microsoft.ProjectServer.Client-Namespace in einer Remoteentwicklungsumgebung auf einem Computer mit Project Server verwenden und Apps entwickeln, die in Project Online oder in eine lokale Installation von Project Server integriert werden können. Das CSOM enthält jedoch nur eine Teilmenge der Funktionalität der vollständigen PSI. Das CSOM ermöglicht die Entwicklung der meisten häufigen Szenarien für die Project Server-Integration. Weitere Informationen finden Sie unter Was das CSOM kann und was nicht und Microsoft.ProjectServer.Client.

Für die Entwicklung der meisten Anwendungen, die die PSI verwenden, müssen Sie die Entwicklung nicht auf einem Project Server-Computer durchführen oder Verweise auf Project Server-Assemblys im globalen Assembly-Cache festlegen. Sie können die erforderlichen Project Server-Assemblys auf Ihren Entwicklungscomputer kopieren. Project Server 2013 installiert die folgenden Assemblys in [Programme]\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

Namespaces für die PSI-Dienste verfügen über willkürliche Namen, die für eine PSI-Proxyassembly ("ProjectServerServices.dll") erstellt wurden, welche für Dokumentationszwecke generiert wird. In der PSI-Referenz verfügt jeder Dienstnamespace über einen Platzhalternamen (wie [Project-Webdienst]) und eine Webreferenz (wie https://ServerName/ProjectServerName/_vti_bin/psi/Project.asmx?wsdl).

Project Server-Assemblys und -Namespaces

Beim Installieren von Project Server werden viele Assemblys installiert, es werden jedoch nur vier der Project Server-Assemblys dokumentiert. Drittanbieterentwickler verwenden im Allgemeinen nur ein paar Klassen und Member in diesen Assemblys. Die nicht dokumentierten Project Server-Assemblys umfassen Namespaces und Klassen, die Project Server intern verwendet, dazu zählen beispielsweise Klassen für Project Web App, die Geschäftsentitäten und der Datenzugriffsschicht (Data Access Layer, DAL). Wenn Sie einen Verweis in Visual Studio zu einer der dokumentierten Project Server-Assemblys festlegen, können Sie alle Namespaces, Klassen und Member im Visual Studio-Objektkatalog anzeigen.

Hinweis

Viele Mitglieder der dokumentierten Project Server-Namespaces werden nur intern verwendet und umfassen nur eine minimale Dokumentation.

Beim Entwickeln für Project Online können Sie nur das CSOM für den Zugriff auf die Project Server-Funktionalität verwenden. Sie haben keinen Zugriff auf die PSI-Dienste oder die anderen Project Server-Assemblys.

Die Project Server 2013-Klassenbibliotheks- und -Webdienstreferenz für die PSI umfasst Namespaces aus den folgenden Assemblys:

  • Microsoft.Office.Project.Server.Library.dll Diese Assembly enthält einen dokumentierten Namespace und drei nicht dokumentierte Namespaces, was wie folgt aussieht:

  • Der Microsoft.Office.Project.Server.Library-Namespace enthält viele Enumerationen und Klassenfelder sowie Eigenschaften, die häufig in lokalen Anwendungen für Project Server verwendet werden. Entwickler verwenden zum Beispiel in der Regel Enumerationen wie CustomField.Type und die PSClientError-, PSErrorInfo- und Filtern-Klassen.

Der Microsoft.Office.Project.Server.Library-Namespace enthält auch die folgenden sieben Eigenschaftenklassen, die mehr als 3.200 Unterklassen enthalten:

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

Die Eigenschaftenklassen werden intern verwendet und sind nicht dokumentiert. Die Eigenschaftsklassen werden für die Serialisierung zwischen Project Professional 2013 und Project Server verwendet. Wenn Sie mit dem Microsoft.Office.Project.Server.Library-Namespace in Visual Studio arbeiten, zeigt der Objektkatalog alle Eigenschaftsklassen an, wodurch es schwieriger wird, Klassen zu finden, die für die Drittanbieterentwicklung nützlich sein können. Da Drittanbieterentwickler nicht die Eigenschaftenklassen verwenden müssen, werden sie im SDK nicht dokumentiert.

  • Microsoft.Office.Project.Server.DataServices Die Klassen und Mitglieder dieses Namespaces werden intern durch den Dienst OData in Project Online für den Zugriff auf Berichtstabellen in der Project-Datenbank verwendet. Die DataServices-Klassen sind nicht dokumentiert.

  • Microsoft.Office.Project.Server.Administration Die Klasse und Mitglieder dieses Namespaces werden nur für die interne Diagnoseprotokollierung verwendet und nicht dokumentiert.

  • Microsoft.Office.Project.Server.Base Die Klassen und Mitglieder dieses Namespaces werden intern als Basisklassen verwendet und sind nicht dokumentiert.

  • Microsoft.Office.Project.Server.Library.FilterSchema Dieser Namespace wird intern zum Generieren vom Filterschemas verwendet und ist nicht dokumentiert.

  • Microsoft.Office.Project.Server.Workflow.dll Diese Assembly wird für ältere Project Server 2010-Workflows verwendet, die weiterhin in Project Server 2013 funktionieren können. Zum Erstellen von neuen Workflows sollten Sie SharePoint Designer 2013 verwenden, oder Sie können Sie auch Visual Studio 2012 mit der Microsoft.ProjectServer.Client.WorkflowActivities-Klasse verwenden. Die Assembly Microsoft.Office.Project.Server.Workflow.dll-Assembly enthält die folgenden drei Namespaces:

  • Microsoft.Office.Project.Server.Workflow Dieser Namespace enthält Klassen, die für Project Server-Workflowaktivitäten verwendet werden. Zu den Aktivitäten zählen das Lesen, Vergleichen und Aktualisieren von Projekteigenschaften. Andere Klassen verwalten Workflows und enthalten Workflowrückrufe, wenn Projekte geändert werden.

  • Microsoft.Office.Project.PWA Dieser Namespace enthält einen internen Proxy für die PSI, für die Verwendung mit Project Web App und mit benutzerdefinierten Workflowaktivitäten, er ist nicht dokumentiert.

    Eine benutzerdefinierte Workflowaktivität erfordert einen Verweis auf Microsoft.Office.Project.PWA für den Zugriff auf alle Klassen in den PSI-Diensten. Beispielsweise enthält die Klasse Microsoft.Office.Project.PWA.PSI die Eigenschaft ProjectWebService, die einen Proxy für den WebSvcProject-Namespace abruft.

  • Microsoft.Office.Project.Server.WebServiceProxy Dieser Namespace umfasst interne Proxyklassen für die primäre Klasse in jedem PSI-Dienst. Durch Verwendung der erhöhten Berechtigungen des Workflowbenutzers kann der Workflow PSI-Methoden über Proxyklassen aufrufen. Die Proxyklassen sind nicht dokumentiert.

  • Microsoft.Office.Project.Server.Events.Receivers.dllMicrosoft.Office.Project.Server.Events ist der einzige Namespace in dieser Assembly. Er enthält Ereignisempfänger und Ereignisargumentklassen für die PSI-Dienste und andere interne Klassen.

Entwickler schreiben Ereignishandler, die sich aus den Ereignisempfängerklassen ableiten. Die meisten der primären Klassen in den PSI-Diensten verfügen über eine entsprechende Ereignisempfängerklasse. Die ProjectEventReceiver-Klasse enthält zum Beispiel Empfängermethoden vor dem Ereignis und nach dem Ereignis, die mit den Methoden in der Project-Klasse in der PSI übereinstimmen. Die OnCreating-Methode und die OnCreated-Methode sind die Empfängermethoden vor dem Ereignis und nach dem Ereignis für die QueueCreateProject-Methode.

Entwickler verwenden in der Regel die folgenden Ereignisempfängerklassen:

Die Klassen RulesEventReceiver und StatusReportsEventReceiver werden in Project Web App intern verwendet.

  • Microsoft.ProjectServer.Client.dll Diese Assembly enthält das CSOM für die Entwicklung mit .NET Framework 4. Die Assembly befindet sich in %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll. Die Entwicklung von Apps mit dem Microsoft.ProjectServer.Client-Namespace erfolgt unabhängig von den lokalen Project Server-APIs und -Diensten, obwohl die Apps entweder mit einer lokalen oder Onlineinstallation von Project Server funktionieren. Zugehörige CSOM-Assemblys, die für Windows Phone 8, Microsoft Silverlight oder JavaScript mit Web-Apps verwendet werden können, finden Sie unter Microsoft.ProjectServer.Client.

  • Microsoft.Office.Project.Server.Schema.dll Das Project 2013-SDK dokumentiert nicht den Microsoft.Office.Project.Server.Schema-Namespace, der sich in der [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c\Microsoft.Office.Project.Schema.dll-Assembly befindet. Der Namespace enthält die Definitionen sämtlicher DataSet-, DataTable- und DataRow-Klassen, die in der PSI verwendet werden, sowie weitere ähnliche Klassen, die Project Server intern verwendet. Die öffentlichen Klassen in den jeweiligen PSI-Diensten werden in bestimmten Dienstreferenzen dokumentiert. Beispielsweise ist die Klasse DriverDataSet.DriverRow im WebSvcDriver-Namespace dokumentiert.

Hinweis

Anwendungen, die das CSOM verwenden, nutzen Remoteereignishandler oder greifen auf Project Online zu und verwenden nicht den Microsoft.Office.Project.Server.Schema-Namespace.

In einigen Anwendungen, die Ereignishändler mit vollem Vertrauen verwenden, wo die Ereignishandler auf dem Computer mit Project Server installiert sind, muss ein Verweis auf die "Microsoft.Office.Project.Schema.dll"-Assembly festgelegt werden. Im Folgenden finden Sie zwei Beispiele:

  • In einem OnCreated-Post-Event-Handler mit vollem Vertrauen für benutzerdefinierte Felder können Sie das Ereignisargument e.CustomFieldInformation mit einem Verweis auf den Microsoft.Office.Project.Server.Schema-Namespace für die CustomFieldDataSet- und CustomFieldsRow-Definitionen verwenden.
  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"];
      . . .
  }
  • Eine benutzerdefinierte Workflowaktivität kann einen Verweis auf Microsoft.Office.Project.Server.Schema für DataSet-Definitionen erfordern.

PSI-Dienste

Die PSI ist ein Satz an WCF-Diensten und identischen ASMX-Webdiensten für Project Server 2013. Zum Verwenden eines Diensts in einem Visual Studio-Projekt legen Sie einen Verweis auf die URL der .svc-Datei oder des .asmx?wsdl-Diensts mithilfe eines willkürlichen Namens für den Namensdienst fest. Das Hilfsprogramm "wsdl.exe" oder das Hilfsprogramm "svcutil.exe" generiert anschließend den Proxyquellcode für diesen Namespace, und der Compiler erstellt eine Proxydienstassembly, die in Ihre Anwendung einbezogen wird.

Hinweis

Die PSI-Referenz enthält Platzhalter für die Namensdienstnamen für PSI-Dienste wie [Admin-Webdienst], [Driver-Webdienst] und [Project-Webdienst]. Jeder PSI-Namensdienst enthält eine primäre Klasse, die die Webmethoden für den jeweiligen Dienst enthält. Wenn Sie zum Beispiel einen Verweis auf den Admin-Dienst festlegen und diesen WebSvcAdmin nennen, enthält der Namensdienst WebSvcAdmin in Ihrer Anwendung die primäre Admin-Klasse, die über die Webmethoden GetServerCurrency, ListInstalledLanguages, ReadServerVersion und so weiter verfügt. Eine Liste von veralteten PSI-Diensten finden Sie unter Updates für Entwickler in Project 2013.

Von den insgesamt 30 PSI-Diensten sind authentication, ExchangeSync, OData, P12Upgrade, psiserviceapp, PWA, View und WinProj für die interne Verwendung von Project Web App und Project Professional bestimmt und nicht dokumentiert. Sie können Proxydateien oder eine Proxyassembly erstellen, die die internen PSI-Dienste enthält, die internen Dienste sind aber nicht für die Verwendung von Drittanbietern bestimmt; die PSI-Referenz dokumentiert diese Dienste nicht. Die folgende Abbildung zeigt die Position des Back-End-PSI-Diensts im Internet Information Services Manager.

Suchen der PSI-Dienste in IIS

PSI-Dienste in IIS-Manager

Im Folgenden werden alle Klassen aufgeführt, die Webmethoden in den PSI-Diensten enthalten:

  • Admin Enthält Methoden, die auf den Project Server-Verwaltungsseiten in Project Web App verwendet werden. Definiert Geschäftsjahre, verwaltet Statuserfassungs- und Währungseinstellungen, Reportingzeiträume, das Überwachungsprotokoll und Einstellungen für Active Directory.
  • Archive Umfasst Methoden für das Verwalten der Sicherung und Wiederherstellung von Projekten, Sicherheitskategorien, benutzerdefinierte Felder, Ressourcen, Systemeinstellungen, Ansichten und das Enterprise-Global-Projekt. Liest und aktualisiert den Archivplan. Archiviert alle Projekte oder löscht angegebene archivierte Projekte. Speichert Sicherungsobjekte in den Archiv-Datenbanktabellen und stellt Objekte in den veröffentlichten Datenbanktabellen wieder her.
  • authentication Umfasst Methoden für die ausschließlich interne Verwendung durch Project Professional und Project Web App.
  • Calendar Verwaltet Enterprise-Kalenderausnahmen. Checkt Ressourcenkalender aus und ein. Nimmt die Erstellung, Löschung, Auflistung sämtlicher, Aktualisierung oder die Rückgabe von Kalenderausnahmen vor.
  • CubeAdmin Verwaltet OLAP-Cubeeinstellungen. Ruft Analysis-Server, Datenbankstatus und die Liste der Cubes ab. Versetzt einen Cube-Erstellungsdienstanforderung in die Warteschlange. Liest und aktualisiert berechnete Memberdefinitionen und Feldeinstellungen für Dimensionen und Kennzahlen im Cube.
  • CustomFields Verwaltet benutzerdefinierte Enterprise-Felder. Umfasst das Aus- und Einchecken von Methoden und enthält die CRUD-Methoden (Create, Read, Update, Delete) für benutzerdefinierte Enterprise-Felder.
  • Driver Verwaltet Portfolioanalysetreiber und die Treiberpriorisierung für die Projekterstellung und das Projektbedarfsmanagement. Enthält die CRUD-Methoden für die Project-Treiber.
  • Events Verwaltet Project Server-Ereignishandlerzuordnungen. Umfasst die CRUD-Methoden für Project Server-Ereignishandlerzuordnungen für ein bestimmtes Ereignis oder für alle Ereignishandlerzuordnungen.
  • ExchangeSync Hierbei handelt es sich um einen internen Project Server-Dienst, der Exchange Server-Ereignisse verarbeitet. Project Web App verwendet ExchangeSync zum Synchronisieren von Aufgaben zwischen Project Server und Exchange Server, statt eine direkte Synchronisierung mit dem Outlook-Client durchzuführen wie in Office Project Server 2007. Der Zugriff auf den ExchangeSync-Dienst steht nur über die ProjectServiceApplication-URL zur Verfügung. Die ExchangeSync-Klassen und -Mitglieder werden nicht für die Entwicklung durch Drittanbieter unterstützt.
  • LoginForms Stellt die Login- und Logoff-Methoden mit formularbasierter Authentifizierung bereit. Der Zugriff auf den LoginForms-Dienst steht nur auf einer Project Web App-Front-End-Website zur Verfügung.
  • LoginWindows Stellt die Login- und Logoff-Methoden bereit, die für die Windows-Authentifizierung mit ASMX-basierten Anwendungen, die für Project Server 2013-Installation mit mehrfacher Authentifizierung (forderungs- und formularbasiert) verwendet werden. Der Zugriff auf den LoginWindows-Dienst steht nur auf einer Project Web App-Front-End-Website zur Verfügung.

Achtung

Der LoginWindows-Dienst wird in WCF-basierten Anwendungen oder für Anwendungen, die auf Project Server-Installationen ausgeführt werden, welche nur die Forderungsauthentifizierung oder OAuth verwenden, nicht verwendet. In einigen Fällen gibt die Methode Login immer false zurück. Die Forderungsauthentifizierung verarbeitet die integrierte Windows-Authentifizierung.

  • LookupTable Verwaltet das Durchsuchen von Tabellen, das mehrsprachige Durchsuchen von Tabellen und ihrer entsprechenden Codemasken. Checkt aus, checkt ein, liest, erstellt, löscht und aktualisiert.

  • Notifications Verwaltet Warnungen und Erinnerungen. Enthält Methoden, die Warnmeldungsergebnisse abrufen, festlegen, registrieren und die Registrierung der Ergebnisse aufheben.

  • ObjectLinkProvider Verwaltet Webobjekte und Links für Dokumente und Listenelemente auf SharePoint-Websites. Erstellt, löscht oder liest Projekt-, projektverknüpfte, Aufgaben- oder aufgabenverknüpfte Webobjekte.

    Hinweis

    Der ObjectLinkProvider-Dienst ist in Project Server 2013 veraltet. Weitere Informationen finden Sie im Abschnitt Veraltete Features unter Updates für Entwickler in Project 2013.

  • OData Stellt die interne OData-Schnittstelle für Berichtstabellen und Ansichten bereit. Der Zugriff auf den OData-Dienst steht nur über die Back-End-ProjectServiceApplication-URL zur Verfügung. Der private OData-Dienst in der PSI enthält eine Methode, ODataClient.ProcessOdataMessage, die Project Server intern zur Verarbeitung von Anforderungen für die Berichtsdaten verwendet. Die HTTP-Anforderungen laufen durch den Front-End-ProjectData-Dienst. Weitere Informationen über den ProjectData-Dienst und das OData-Protokoll zum Lesen von Berichtsdaten finden Sie unter ProjectData – OData-Dienstreferenz für Project.

  • P12Upgrade Bietet interne Methoden für das Installationsprogramm von Project Server 2013 zum Aktualisieren einer Office Project Server 2007-Installation. Der Zugriff auf den P12Upgrade-Dienst steht nur über die ProjectServiceApplication-URL zur Verfügung. Die P12Upgrade-Methoden werden nicht für die Drittanbieterentwicklung unterstützt.

  • PortfolioAnalyses Umfasst die CRUD-Methoden für Projektabhängigkeiten sowie für Optimierungs-, Planungs- und Analyselösungen.

  • Project Verwaltet Projekte. Nimmt das Auschecken, Einchecken, Erstellen, Löschen, Lesen oder Aktualisieren von Projekten in den Project-Datenbank-Entwurfstabellen oder veröffentlichten Tabellen vor. Versetzt eine Nachricht in eine Warteschlange für die Veröffentlichung.

    • Erstellt oder löscht Entitäten innerhalb von Projekten (Aufgaben, Ressourcen, Zuweisungen usw.). Ruft Informationen über das Project-Team oder die Project-Websiteadresse ab oder aktualisiert diese. Ruft den Projektstatus, eine Liste der Projekte in den Entwurfstabellen, alle Zusammenfassungsaufgaben sowie Aufgaben, die für die Zuweisung zu einer bestimmten Ressource verfügbar sind, oder alle Projekte ab, wo eine Ressource über Zuweisungen verfügt.
    • Erstellt und verwaltet Festlegungen, erstellt Projektvorschläge und Projekte von SharePoint-Aufgabenlisten und sucht Projekt-/Master-Projektbeziehungen.
  • Psiserviceapp Wird intern von Project Online verwendet. Die psiserviceapp-Klassen und -Mitglieder werden nicht für die Entwicklung durch Drittanbieter unterstützt.

  • PWA Enthält viele für Project Web App optimierte Methoden, einschließlich der Methoden für die Aufgabenaktualisierungs-Genehmigungsregeln und für die Verwaltung von Statusberichten. Die PWA-Methoden sind häufig spezialisiert und redundant im Vergleich zu entsprechenden Methoden in anderen PSI-Diensten. PWA-Methoden verwenden viele der gleichen Datasets wie andere PSI-Methoden oder geben diese zurück. Der Zugriff auf den PWA-Dienst steht nur über die ProjectServiceApplication-URL zur Verfügung. Die PWA-Klassen und -Mitglieder werden nicht für die Entwicklung durch Drittanbieter unterstützt.

  • QueueSystem Verwaltet die Project Server-Warteschlange. Nimmt den Abruf der Auftragsanzahl, der Auftrags- und Auftragsgruppen-Wartezeit, des Status sämtlicher Aufträge, von angegebenen Aufträgen, von Aufträgen, die dem Aufrufer gehören, oder von Aufträgen für angegebene Projekte vor. Verwaltet die Auftragskorrelation und konfiguriert die Warteschlange.

  • Resource Verwaltet Enterprise-Ressourcen. Nimmt das Auschecken, Einchecken, Aktualisieren oder Erstellen von Ressourcen oder Project Server-Benutzern und ihrer Autorisierungseinstellungen vor, sucht Ressourcen nach Namen oder GUID, liest Ressourcen- oder Benutzerdaten und den Ressourcenstrukturplan sowie zugehörige Sicherheitsinformationen, ruft alle Zuweisungen für eine Ressource ab und setzt Benutzerkennwörter zurück. Die Resource-Klasse enthält CRUD-Methoden für Benutzerstellvertretungen.

  • ResourcePlan Verwaltet Ressourcenpläne. Checkt die CRUD-Methoden aus, checkt sie ein, veröffentlicht sie und fügt sie für Ressourcenpläne hinzu.

  • Security Umfasst die CRUD-Methoden für Sicherheitsvorlagen, Sicherheitskategorien, Organisations- und globale Berechtigungen sowie Gruppenberechtigungen. Die Security-Klasse enthält Methoden für Projektkategorien.

  • Statusing Verwaltet Statusupdates und Zuweisungen. Übernimmt Statusaktualisierungen oder Genehmigungen, sendet Statusaktualisierungen, legt Zusammenfassungsinformationen für gesendete Updates fest, löscht genehmigte Statusaktualisierungen oder den Zustimmungsverlauf für einen bestimmten Benutzer oder löscht sämtliche Statusinformationen für einen Satz von Projekten. Nimmt das Erstellen, Abrufen oder Delegieren von Zuweisungen vor, legt die Zuweisungsarbeitsdauer fest. Ruft neue Zuweisungen für den aktuellen Benutzer ab, ruft den Zuweisungs- oder Aufgabentransaktionsverlauf, die aktuellen Werte mit Zeitphasen oder die Sammelvorgangshierarchie ab. Zeigt eine Vorschau der Arbeitszeittabellendaten an oder importiert sie oder liest den Arbeitszeitplan eines Benutzers. Sucht ausstehende Statusaktualisierungen, Informationen zu übermittelten Updates oder einen Transaktionsdatensatz von Änderungen in einem übermittelten Update. Liest den Teamstatus.

  • TimeSheet Verwaltet Arbeitszeittabellen. Umfasst die CRUD-Methoden für Arbeitszeittabellen und sendet oder ruft Arbeitszeittabellen zurück. Sucht nach Arbeitszeittabellen, die in Verzug sind oder deren Genehmigung aussteht, sucht nach Arbeitszeittabellen nach Datum oder Zeitraum. Ruft eine Liste von genehmigenden Personen für Arbeitszeittabellen ab. Lädt Arbeitszeittabellen-Ist-Werte vorab und überprüft eine Arbeitszeittabellen-Zeile. Die TimeSheet-Klasse enthält die ReadProjectTimesheetLines-Methode und die SubmitTimesheetLines-Methode für das Lesen und Senden von Arbeitszeittabellen für eine andere Ressource ohne erforderlichen Identitätswechsel.

    • View Der View-Dienst wurde für die ausschließliche Verwendung in Project Web App entwickelt. Methoden in der View-Klasse verwalten Ansichten, zeigen Berichte an und lesen Felder in Ansichten. Der Zugriff auf den View-Dienst steht nur über die ProjectServiceApplication-URL zur Verfügung. Die View-Methoden werden nicht für die Drittanbieterentwicklung unterstützt.
    • WinProj Der WinProj-Dienst wurde für die ausschließliche Verwendung durch Project Professional entworfen. Drittanbieterentwickler sollten keine WinProj-Methoden für die Programmierung mit Project Server verwenden.
      • Einige WinProj-Methoden verwenden Datasets wie ProjectRelationsDataSet und ResourceDataSet, die der Project- und Resource-Dienst ebenfalls verwendet, für sie sind in Project Professional jedoch bestimmte Eigenschaften und Funktionen erforderlich.
      • Der Zugriff auf den WinProj-Dienst steht nur über die ProjectServiceApplication-URL zur Verfügung. Die WinProj-Methoden werden nicht für die Drittanbieterentwicklung unterstützt.
  • Workflow Umfasst die CRUD-Methoden für Enterprise-Projekttypen und für das Verwalten von Workflowphasen und -stufen. Führt Workflows aus, legt Statusinformationen fest und verwaltet PDP-Phasen in Bedarfsmanagementworkflows. Entwickler können zum Entwickeln von Workflows für Project Server SharePoint Designer 2013 für deklarative Workflows verwenden oder die Office Developer Tools für Visual Studio 2012 für die Entwicklung mit .NET Framework 4 und der Microsoft.ProjectServer.Client.WorkflowActivities-Klasse im CSOM.

  • WssInterop Verwaltet Projektwebsites. Erstellt und löscht Projektwebsites. Ruft Informationen ab und aktualisiert SharePoint-Einstellungen und -Verwaltungswebsites. Synchronisiert und aktualisiert die Mitgliedschaften und Gruppen von Projektwebsites.

Jeder Dienstnamespace umfasst alle DataSet-Schema- und Ereignishandlerklassen, die der Dienst verwendet. Bespielsweise beschreibt Calendar.svc (oder Calendar.asmx?wsdl für den ASMX-Webdienst) den Kalender-Dienst. Wenn Sie die Referenz WebSvcCalendar nennen, enthält der Proxy-Namespace die primäre Calender-Klasse mit den Methoden CheckInCalendars, CheckOutCalendars und so weiter. Der WebSvcCalendar-Proxy-Namespace enthält auch die CalendarDataSet-Klasse und alle Unterklassen.

Einige dieser PSI-Dienste enthalten doppelte DataSet-Klassen. Der Project-Dienst und der Statusing-Dienst enthalten beispielsweise beide die ProjectDataSet-Klasse. Dies liegt daran, dass die Methoden in den Diensten Project und Statusing Verweise auf ProjectDataSet enthalten und die Proxyassemblys, die Sie beim Festlegen von Verweisen und Kompilieren einer Anwendung erstellen, die zugehörigen Datasets enthalten. Der Project-Dienst und Statusing-Dienst erfordern eventuell Werte für verschiedene Felder in der ProjectDataSet.ProjectRow-Klasse.

Wenn Sie nach den Namespaces und Klassen des PSI-Verweises suchen, um beispielsweise die Webmethoden für den Project-Dienst anzuzeigen, erweitern Sie den Namespace [Project web service] in der Liste Contents, und erweitern Sie dann die Project-Klasse.

Siehe auch