2013-05-01 7 views
0

필자는 PSI 코딩을 처음 사용합니다 .... 프로젝트를 만들었으므로 해당 팀을 구성해야합니다 .... 리소스가 프로젝트 서버에 있어야합니다. .. 내가 연구했지만 내가 원하는 것을 얻을 수 없었다. 어떻게하는가? 내가이 프로젝트 팀을 구축 할 필요가 PSI를 사용하는 프로젝트 팀 구성

WbSvcProject.ProjectDataSet pds = new WbSvcProject.ProjectDataSet(); 

      Guid PUID = Guid.Parse("8d73de15-8f85-4c5e-8da9-de0b85f48eed"); 
      pds = proj.ReadProject(PUID, WbSvcProject.DataStoreEnum.WorkingStore); 

... 자원

답변

0

된 VS2010 사전에 프로젝트 서버에

감사를 기존해야합니까? 해결책. VS2012는 WbSvcProject.ProjectSoapClient()를 통해 서비스를 호출하는 새로운 방법을 사용하는 것으로 보입니다.

using Library = Microsoft.Office.Project.Server.Library; 

class ProjectProxy 
{ 
    private WbSvcProject.Project projectSvc; 

    public ProjectProxy() 
    { 
     this.projectSvc = new WbSvcProject.Project(); 
     this.projectSvc.Url = Program.PWAServer + "/_vti_bin/psi/project.asmx"; 
     this.projectSvc.UseDefaultCredentials = true; 
    } 

    //ProjectTeamDataSet ds = new ProjectTeamDataSet(); 
    //ProjectTeamDataSet.ProjectTeamRow row = ds.ProjectTeam.NewProjectTeamRow(); 
    //row.PROJ_UID = projectGuid; 
    //row.RES_UID = resourceGuid; 
    //row.NEW_RES_UID = resourceGuid; 
    //ds.ProjectTeam.AddProjectTeamRow(row); 

    public void QueueUpdateProjectTeam(Guid sessionUid, Guid projectUid, ProjectTeamDataSet dataset) 
    { 
     Guid jobUid = Guid.NewGuid(); 

     try 
     { 
      this.projectSvc.QueueUpdateProjectTeam(jobUid, sessionUid, projectUid, dataset); 
     } 
     catch (SoapException soapException) 
     { 
      List<string> queueErrors = new List<string>(); 
      queueErrors.Add(soapException.Message); 
      Library.PSClientError clientError = new Library.PSClientError(soapException); 
      Library.PSErrorInfo[] errors = clientError.GetAllErrors(); 
      foreach (Library.PSErrorInfo error in errors) 
      { 
       queueErrors.Add(error.ErrId.ToString()); 
      } 
     } 
    } 
}