Project.ReadProjectList method
Obtém o nome do projeto, o GUID e o tipo de cada projeto que está disponível na instância do Project Web App.
Namespace: WebSvcProject
Assembly: ProjectServerServices (in ProjectServerServices.dll)
Syntax
'Declaração
<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
'Uso
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()
Valor retornado
Type: WebSvcProject.ProjectDataSet
O esquema de ProjectDataSet contém somente a tabela de Project , com os seguintes campos: PROJ_UID, PROJ_NAMEe PROJ_TYPE.
Comentários
ReadProjectStatus pode ser usado para obter uma lista de projetos que estão visíveis para todos os usuários do Project Server. Porque ele obtém uma lista de todos os projetos, ReadProjectList é destinado para uso com utilitários administrativos e requer um alto nível de permissões.
Um aplicativo deve estar conectado a uma instância do Project Server com credenciais de usuário válido antes que ela ReadProjectListpode ser executada.
Use a propriedade Project do ProjectDataSet para acessar a lista de projetos.
Permissões do Project Server
Permissão |
Descrição |
---|---|
Permite que um usuário gerenciar o serviço de enfileiramento de mensagens. Permissão global. |
|
Permite que um usuário gerencie as configurações de segurança. Permissão global. |
Examples
O exemplo a seguir cria um projeto de exemplo e, em seguida, lista os projetos que são encontrados.
For critical information about running this code sample, see Prerequisites for Reference Code Samples.
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();
}
}
}
}